/* 強積金／投連資料庫（10-03 重新設計，樣板 v8）—— mpf.html／ilas.html 載（喺 mpf.css 之後）。全部收喺 .fdb（頁面根）同 fd- 前綴，
   唔郁 mpf.css（RADAR／組合模擬器等 20 頁仲用緊）。字級一律 var(--fs-*)；撳範圍 ≥ 44；表頭 sticky 實底色；@container 判闊度。 */
.fdb{container-type:inline-size;container-name:fdb;color:var(--ink)}
.fdb svg.i,.fd-pop svg.i,.fd-sheet svg.i,.fd-tray svg.i,.fd-sdrop svg.i,.fd-foot svg.i{width:20px;height:20px;flex:none;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.fdb .seg button{min-height:44px;padding:0 var(--sp-3h)}
.fdb .seg button .n{font-family:var(--mono);font-weight:500;font-size:var(--fs-xs);margin-left:5px;opacity:.75}
.fdb .seg button .n[hidden]{display:none}
.fdb .btn{min-height:44px}
.fdb .logo{width:28px;height:28px;border-radius:var(--r-sm);background:#fff;border:1px solid var(--line2);object-fit:contain;padding:2px;flex:none}
.fdb span.logo{display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-xs);font-weight:700;color:var(--ink2);background:var(--card2)}
.fdb .note,.fd-note{font-size:var(--fs-xs);color:var(--muted);margin:var(--sp-2) 0 0}
.fdb .tbl thead th{position:sticky;top:calc(var(--topbar-h) + env(safe-area-inset-top,0px));z-index:4;background:var(--card2);box-shadow:inset 0 -1px 0 var(--line)}
.fdb .card{overflow:visible}

/* ── hero（一覽／比較／平台） ── */
.fdb .hero{padding:var(--sp-4) var(--sp-5)}
.fd-lh-top{display:flex;align-items:flex-start;gap:var(--sp-4)}
.fd-lh-top .t{flex:1;min-width:0}
.fd-lh-top h1{margin:0;font-size:var(--fs-2xl);line-height:1.25;display:flex;align-items:baseline;gap:var(--sp-3);flex-wrap:wrap}
.fd-lh-top .meta{color:rgba(255,255,255,.7);font-size:var(--fs-sm);font-weight:500}
.fd-lh-top .meta b{font-family:var(--mono);font-weight:500;color:#fff}
.fd-lh-row{display:grid;grid-template-columns:1.25fr 1fr;gap:var(--sp-3);margin-top:var(--sp-4)}
.fd-pick{display:flex;align-items:center;gap:var(--sp-2h);width:100%;min-height:52px;border:1px solid rgba(255,255,255,.22);background:var(--card);color:var(--ink);border-radius:var(--r-md);padding:6px 14px 6px 10px;cursor:pointer;text-align:left;font:inherit}
.fd-pick .tx{flex:1;min-width:0}
.fd-pick .tx small{display:block;font-size:var(--fs-xs);color:var(--muted);line-height:1.2}
.fd-pick .tx b{display:block;font-size:var(--fs-body);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fd-pick svg.i{color:var(--muted)}
.fd-pick:hover{border-color:var(--accent)}
.fd-sdots{display:inline-flex;gap:3px;flex:none}.fd-sdots i,.fd-sdot{width:10px;height:10px;border-radius:50%;display:inline-block;flex:none}
.fd-sbox{position:relative}
.fd-sbox input{width:100%;min-height:52px;border:1px solid rgba(255,255,255,.22);background:var(--card);border-radius:var(--r-md);padding:0 14px 0 42px;font:inherit;font-size:var(--fs-body);color:var(--ink)}
.fd-sbox input::placeholder{color:var(--muted)}
.fd-sbox svg.i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted)}
@container fdb (max-width:760px){.fd-lh-top{flex-direction:column}.fd-lh-row{grid-template-columns:1fr}}

/* ── 工具列（類別｜睇法） ── */
.fd-tools{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2h);margin:var(--sp-3h) 0 var(--sp-2h);flex-wrap:wrap}
.fd-tools .seg{flex-wrap:wrap}
.fd-cap{margin:0 0 var(--sp-2)!important}
.fd-cap em{font-style:normal;color:var(--sc);font-weight:700}

/* ── 一覽表 ── */
.fd-ltbl{table-layout:fixed;width:100%}
.fd-ltbl col.c-chk{width:46px}.fd-ltbl col.c-go{width:34px}
.fd-ltbl td{height:62px}
.fd-ltbl td.chk{padding:0}
.fd-ltbl td.fund{white-space:normal;padding-left:2px}
.fd-ltbl th{white-space:normal;line-height:1.25}
.fd-ltbl th small.hx{display:block;font-size:var(--fs-xs);font-weight:500;color:var(--muted)}
.fd-ltbl td.num{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--fs-md)}
.fd-ltbl td.num small{display:block;font-family:var(--sans);font-size:var(--fs-xs);color:var(--muted);line-height:1.2}
.fd-ltbl td.go{color:var(--faint);padding:0 8px 0 0;text-align:right}
.fd-ltbl tr.link:hover td.go{color:var(--brand-green-deep)}
.fd-ltbl tr.more td{height:52px;text-align:center;background:var(--card2)}
.fd-ltbl tr.more button{border:0;background:transparent;color:var(--link);font-weight:700;min-height:44px;cursor:pointer;font:inherit;font-size:var(--fs-md)}
.fd-ltbl tr.stale td{opacity:.62}
.fd-fundcell{display:flex;align-items:center;gap:var(--sp-2h);min-width:0}
.fd-fundcell .txt{min-width:0}
.fd-fundcell .nm{font-weight:700;font-size:var(--fs-body);color:var(--ink);line-height:1.3}
.fd-fundcell .sub{font-size:var(--fs-xs);color:var(--muted);line-height:1.3;margin-top:2px}
.fd-fundcell .sub .pill{margin-right:4px;font-family:var(--mono);font-weight:500;padding:0 6px}
.fd-ck{display:flex;align-items:center;justify-content:center;width:46px;height:60px;border:0;background:transparent;cursor:pointer;padding:0}
.fd-ck i{width:22px;height:22px;border:1.5px solid var(--faint);border-radius:6px;background:var(--card);display:flex;align-items:center;justify-content:center;transition:all .12s}
.fd-ck.on i{background:var(--primary);border-color:var(--primary)}
.fd-ck.on i::after{content:"";width:6px;height:11px;border:solid var(--primary-ink);border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}
.fd-riskbar{display:inline-flex;gap:2px;vertical-align:middle}
.fd-riskbar i{width:9px;height:16px;border-radius:2px;background:var(--line)}
.fd-riskbar i.on{background:currentColor}
.fd-riskn{font-family:var(--mono);font-size:var(--fs-sm);margin-left:6px;vertical-align:middle}
.fd-r1,.fd-r2{color:var(--ok)}.fd-r3{color:var(--chart-1)}.fd-r4{color:var(--warn)}.fd-r5{color:var(--chart-2)}.fd-r6,.fd-r7{color:var(--bad)}
.fd-stag{display:inline-block;font-size:var(--fs-xs);font-weight:700;color:var(--sc);border:1px solid currentColor;border-radius:var(--r-pill);padding:0 8px;margin-right:6px;line-height:1.5}
.fd-empty{padding:var(--sp-5);text-align:center;color:var(--muted)}

/* ── 比較托盤 ── */
.fd-tray{position:fixed;left:calc(var(--side-w) + var(--sp-5));right:var(--sp-5);bottom:var(--sp-3h);z-index:50;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:0 10px 30px rgba(10,22,40,.18);display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-3);transform:translateY(140%);transition:transform .22s ease}
.side-min .fd-tray{left:calc(var(--side-w-min) + var(--sp-5))}
@media (max-width:900px){.fd-tray{left:var(--sp-3);right:var(--sp-3)}}
.fd-tray.on{transform:none}
.fd-tray .chips{flex:1;display:flex;gap:var(--sp-1h);min-width:0;overflow:hidden;flex-wrap:nowrap}
.fd-tray .fd-tchip{max-width:220px}
.fd-tray .msg{font-size:var(--fs-sm);color:var(--warn);font-weight:700;white-space:nowrap}
.fd-tray .msg.hint{color:var(--muted);font-weight:500}
.fd-tray .go{min-width:150px;min-height:44px}
body.fd-has-tray .fdb{padding-bottom:96px}
.fd-tray .fd-tchip{display:inline-flex;align-items:center;gap:var(--sp-1h);border:1px solid var(--line);border-radius:var(--r-pill);padding:0 4px 0 10px;min-height:44px;font-size:var(--fs-sm);font-weight:600;background:var(--card2)}
.fd-tray .fd-tchip .d{width:10px;height:10px;border-radius:50%;flex:none}
.fd-tray .fd-tchip .t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.fd-tray .fd-tchip button{border:0;background:transparent;width:44px;height:44px;margin:-1px -4px -1px -6px;border-radius:50%;cursor:pointer;color:var(--muted);flex:none;display:flex;align-items:center;justify-content:center}
.fd-tray .fd-tchip button svg.i{width:16px;height:16px}

/* ── 搜尋下拉／彈出卡／sheet ── */
.fd-sdrop{position:fixed;z-index:70;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:0 14px 34px rgba(10,22,40,.2);max-height:430px;overflow-y:auto;color:var(--ink)}
.fd-sdrop .it{display:flex;align-items:center;gap:var(--sp-2h);width:100%;padding:8px 14px;min-height:56px;cursor:pointer;border:0;border-bottom:1px solid var(--line2);background:transparent;text-align:left;font:inherit}
.fd-sdrop .it:hover{background:var(--accent-soft)}
.fd-sdrop .txt{flex:1;min-width:0;display:block}
.fd-sdrop .nm{display:block;font-weight:700;font-size:var(--fs-md)}
.fd-sdrop .nm mark{background:var(--accent-soft);color:inherit;border-radius:2px}
.fd-sdrop .sub{display:block;font-size:var(--fs-xs);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fd-sdrop .v{font-family:var(--mono);font-size:var(--fs-md);text-align:right}
.fd-sdrop .v small{display:block;font-family:var(--sans);font-size:var(--fs-xs);color:var(--muted)}
.fd-sdrop .empty{padding:18px;color:var(--muted);text-align:center}
.fd-sdrop .hd{font-size:var(--fs-xs);color:var(--muted);padding:8px 14px;background:var(--card2)}
.fd-sdrop .logo{width:28px;height:28px;border-radius:var(--r-sm);background:#fff;border:1px solid var(--line2);object-fit:contain;padding:2px;flex:none}
.fd-pop{position:fixed;z-index:72;width:340px;max-width:calc(100vw - 16px);background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:0 14px 34px rgba(10,22,40,.22);padding:var(--sp-3h) var(--sp-4);font-size:var(--fs-md);line-height:1.55;color:var(--ink2)}
.fd-pop h4{margin:0 0 6px;font-size:var(--fs-md);color:var(--ink)}
.fd-pop ul{margin:6px 0 0;padding-left:18px;display:grid;gap:6px}
.fd-pop li b{color:var(--ink);font-family:var(--mono);font-weight:500}
.fd-scrim-sheet{background:rgba(10,22,40,.32)}
.fd-sheet{position:fixed;left:50%;top:50%;transform:translate(-50%,-48%);width:min(780px,calc(100vw - 24px));max-height:min(700px,calc(100vh - 40px));background:var(--card);border-radius:var(--r-lg);box-shadow:0 24px 60px rgba(10,22,40,.3);display:flex;flex-direction:column;opacity:0;transition:opacity .18s,transform .18s;z-index:71;color:var(--ink)}
.fd-sheet.on{opacity:1;transform:translate(-50%,-50%)}
.fd-sheet .sh-hd{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-4) var(--sp-3);border-bottom:1px solid var(--line)}
.fd-sheet .sh-hd h3{margin:0;font-size:var(--fs-lg);flex:1}
.fd-sheet .sh-hd h3 small{font-weight:400;font-size:var(--fs-sm);color:var(--muted);margin-left:6px}
.fd-sheet .sh-search{padding:var(--sp-2h) var(--sp-4);border-bottom:1px solid var(--line2)}
.fd-sheet .sh-search input{width:100%;min-height:44px;border:1px solid var(--line);border-radius:var(--r-sm);padding:0 12px;font:inherit;font-size:var(--fs-body)}
.fd-sheet .sh-body{display:grid;grid-template-columns:230px 1fr;min-height:0;flex:1;overflow:hidden}
.fd-sheet .sh-l{border-right:1px solid var(--line);overflow:auto;padding:var(--sp-2)}
.fd-sheet .sh-r{overflow:auto;padding:var(--sp-2)}
.fd-sheet .sh-sec{font-size:var(--fs-xs);font-weight:700;color:var(--muted);padding:10px 10px 4px}
.fd-sheet .sh-foot{display:flex;align-items:center;gap:var(--sp-2h);padding:var(--sp-2h) var(--sp-4);border-top:1px solid var(--line)}
.fd-sheet .sh-foot .btn{min-width:120px;min-height:44px}
.fd-opt{display:flex;align-items:center;gap:var(--sp-2h);width:100%;min-height:48px;border:0;background:transparent;border-radius:var(--r-sm);padding:6px 10px;cursor:pointer;text-align:left;font:inherit;font-size:var(--fs-md);color:var(--ink)}
.fd-opt:hover{background:var(--bg2)}
.fd-opt.on{background:var(--accent-soft);font-weight:700;box-shadow:inset 3px 0 0 var(--accent)}
.fd-opt .grow{flex:1;min-width:0}
.fd-opt .grow small{display:block;font-size:var(--fs-xs);color:var(--muted);font-weight:400}
.fd-opt .c{font-family:var(--mono);font-size:var(--fs-sm);color:var(--muted)}
.fd-opt.dis{opacity:.5;cursor:not-allowed}
.fd-opt.all{border:1px dashed var(--line);margin-bottom:6px}
.fd-opt .fd-ck{width:30px;height:30px}
.fd-opt .logo{width:28px;height:28px;border-radius:var(--r-sm);background:#fff;border:1px solid var(--line2);object-fit:contain;padding:2px;flex:none}
.fd-tag-home{font-size:var(--fs-xs);font-weight:700;background:var(--primary);color:var(--primary-ink);border-radius:var(--r-pill);padding:0 7px;line-height:18px;white-space:nowrap}
.fd-xbtn{border:0;background:var(--bg2);width:44px;height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ink2);flex:none}
.fd-how{padding:var(--sp-3h) var(--sp-5) var(--sp-5);overflow:auto;font-size:var(--fs-md);line-height:1.7;color:var(--ink2)}
.fd-how ul{padding-left:18px;margin:0;display:grid;gap:8px}
@media (max-width:700px){.fd-sheet .sh-body{grid-template-columns:1fr}.fd-sheet .sh-l{max-height:180px;border-right:0;border-bottom:1px solid var(--line)}}

/* ── 平台優勢 ── */
.fd-pbars{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--sp-3)}
.fd-pbar{border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-3h);background:var(--card2)}
.fd-pbar .l{font-size:var(--fs-sm);color:var(--ink2);font-weight:700;margin-bottom:6px}
.fd-pbar .big{display:flex;align-items:baseline;gap:var(--sp-2h);margin-bottom:6px}
.fd-pbar .big b{font-family:var(--mono);font-size:var(--fs-2xl);font-weight:500;color:var(--ink)}
.fd-pbar .big span{font-size:var(--fs-sm);color:var(--muted)}
.fd-pbar .r{display:grid;grid-template-columns:72px 1fr;align-items:center;gap:var(--sp-2);font-size:var(--fs-xs);color:var(--muted);margin-top:4px}
.fd-pbar .r .b{height:12px;border-radius:3px;background:var(--line2);position:relative}
.fd-pbar .r .b i{position:absolute;left:0;top:0;bottom:0;border-radius:3px}
.fd-plat-f{margin-top:var(--sp-4)}
.fd-plat-f h3{font-size:var(--fs-body);margin:0 0 8px;color:var(--ok)}
.fd-plat-f ul{margin:0;padding-left:18px;display:grid;gap:8px;font-size:var(--fs-body);color:var(--ink2)}
.fd-plat-f li b{display:block;color:var(--ink);font-weight:600;margin-bottom:2px}   /* 10-07：好處一句粗體，講法跟住 */
.fd-plat-f li span{display:block}

/* ── 卡 ── */
.fdb .f-card{padding:var(--sp-4) var(--sp-5)}
.fdb .f-card h2{font-size:var(--fs-lg);margin:0 0 var(--sp-2h);display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}
.fdb .f-card h2 .sub{font-size:var(--fs-xs);font-weight:400;color:var(--muted)}
.fdb .f-card h2 .seg{margin-left:auto}
.fdb .f-card+.f-card{margin-top:var(--sp-3h)}

/* ── 基金詳情 ── */
.fd-topbar{display:flex;align-items:center;justify-content:space-between;margin:0 0 var(--sp-2)}
.fd-back{display:inline-flex;align-items:center;gap:4px;color:var(--link);background:none;border:0;padding:0 8px 0 0;cursor:pointer;font:inherit;font-size:var(--fs-body);min-height:44px;font-weight:600}
.fd-addcmp.on{background:var(--accent-soft);border-color:var(--brand-gold-deep);color:var(--brand-deeper)}
.fd-fh-r1{display:flex;align-items:center;gap:var(--sp-4)}
.fd-fh-r1 .logo{width:52px;height:52px;border-radius:var(--r-md);padding:4px;border-color:rgba(255,255,255,.16)}
.fd-fh-r1 .t{flex:1;min-width:0}
.fd-fh-r1 h1{font-size:var(--fs-2xl);margin:0;line-height:1.25}
.fd-fh-r1 .m{margin-top:4px;color:rgba(255,255,255,.66);font-size:var(--fs-sm)}
.fd-fh-r1 .m span+span::before{content:" · ";opacity:.6}
.fd-fh-r1 .p{text-align:right;white-space:nowrap}
.fd-fh-r1 .p .v{font-family:var(--mono);font-size:var(--fs-3xl);font-weight:500;line-height:1.05}
.fd-fh-r1 .p .c{font-family:var(--mono);font-size:var(--fs-md);margin-top:2px;color:rgba(255,255,255,.88)}
.fd-fh-r1 .p .dt{font-size:var(--fs-xs);color:rgba(255,255,255,.6)}
.fd-fh-r2{display:flex;align-items:center;gap:var(--sp-3h);margin-top:var(--sp-2);flex-wrap:wrap}
.fd-rscale{display:inline-flex;align-items:center;gap:3px}
.fd-rscale .lb{font-size:var(--fs-xs);color:rgba(255,255,255,.66);margin-right:6px}
.fd-rscale i{width:24px;height:24px;border-radius:var(--r-xs);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:var(--fs-xs);font-style:normal;background:rgba(255,255,255,.12);color:rgba(255,255,255,.66)}
.fd-rscale i.on{color:#fff;font-weight:700;box-shadow:0 0 0 2px rgba(255,255,255,.85);background:var(--chart-2)}
.fd-memo{display:inline-flex;align-items:center;gap:var(--sp-2);border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.06);color:#fff;border-radius:var(--r-pill);min-height:44px;padding:0 16px 0 12px;font:inherit;font-size:var(--fs-sm);font-weight:700;cursor:pointer}
.fd-memo:hover{background:rgba(255,255,255,.14)}
.fd-memo .ic,.fd-qa .ib span{width:22px;height:22px;border-radius:50%;border:1.5px solid currentColor;display:inline-flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-style:italic;font-size:var(--fs-sm)}
.fd-memo .cnt{font-family:var(--mono);font-weight:500;font-size:var(--fs-xs);background:rgba(255,255,255,.14);border-radius:var(--r-pill);padding:0 7px}
.fd-fh-q{display:grid;grid-template-columns:repeat(var(--qn,3),1fr);gap:var(--sp-3h);margin-top:var(--sp-2h);padding-top:var(--sp-3);border-top:1px solid rgba(255,255,255,.14)}
@container fdb (max-width:700px){.fd-fh-q{grid-template-columns:1fr 1fr}.fd-fh-r1{flex-wrap:wrap}}
.fd-qa{position:relative;padding:2px 34px 0 0;min-width:0}
.fd-qa .l{font-size:var(--fs-xs);color:rgba(255,255,255,.66)}
.fd-qa .v{font-family:var(--mono);font-size:var(--fs-xl);font-weight:500;line-height:1.3;margin-top:2px;white-space:nowrap}
.fd-qa .v small{font-family:var(--sans);font-size:var(--fs-sm);color:rgba(255,255,255,.78);margin-right:4px;font-weight:500}
.fd-qa .s{font-size:var(--fs-xs);color:rgba(255,255,255,.66);line-height:1.45;margin-top:3px}
.fd-qa .s b{font-family:var(--mono);font-weight:500;color:rgba(255,255,255,.92)}
.fd-qa .ib{position:absolute;right:-6px;top:-10px;width:44px;height:44px;border:0;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.6)}
.fd-qa .ib:hover{color:#fff}
.fd-rk{display:flex;gap:2px;margin:6px 0 2px}
.fd-rk i{flex:1;height:8px;border-radius:2px;background:rgba(255,255,255,.14)}
.fd-rk i.on{background:var(--accent)}
.fd-tabbar{position:sticky;top:calc(var(--topbar-h) + env(safe-area-inset-top,0px));z-index:6;background:var(--bg);padding:var(--sp-3) 0 var(--sp-2h);margin-top:4px;display:flex;align-items:center;gap:var(--sp-2h)}
.fd-tabbar .seg button{min-width:96px}
.fdb.fd-has-tab .tbl thead th{top:calc(var(--topbar-h) + env(safe-area-inset-top,0px) + var(--fd-tabh,70px))}
.fd-kpis{display:grid;grid-template-columns:repeat(var(--kn,4),1fr);gap:var(--sp-2h);margin-top:var(--sp-3h)}
.fd-kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-3h)}
.fd-kpi .l{font-size:var(--fs-xs);color:var(--muted)}
.fd-kpi .v{font-family:var(--mono);font-size:var(--fs-xl);font-weight:500;margin-top:2px}
.fd-kpi .s{font-size:var(--fs-xs);color:var(--muted);margin-top:2px}
.fd-holds .row{display:grid;grid-template-columns:34px 1fr 210px 92px;align-items:center;gap:var(--sp-3);min-height:48px;border-bottom:1px solid var(--line2);font-size:var(--fs-md)}
.fd-holds .row .r{font-family:var(--mono);color:var(--muted);text-align:center}
.fd-holds .row .w{display:flex;align-items:center;gap:var(--sp-2);font-family:var(--mono)}
.fd-holds .row .w .b{flex:1;height:8px;border-radius:4px;background:var(--line2);position:relative}
.fd-holds .row .w .b i{position:absolute;left:0;top:0;bottom:0;border-radius:4px;background:var(--chart-1)}
.fd-holds .row .w span{width:58px;text-align:right}
.fd-holds .row .d{text-align:right;font-family:var(--mono);font-size:var(--fs-sm)}
.fd-holds .hdr{font-size:var(--fs-xs);color:var(--muted);font-weight:700;min-height:36px;background:var(--card2);position:sticky;top:calc(var(--topbar-h) + env(safe-area-inset-top,0px) + var(--fd-tabh,70px));z-index:4;box-shadow:inset 0 -1px 0 var(--line)}
.fd-holds .sum{font-weight:700;border-bottom:0}
@container fdb (max-width:700px){.fd-holds .row{grid-template-columns:28px 1fr 120px 70px}}
.fd-cmpt{table-layout:fixed}
.fd-cmpt td.num{font-family:var(--mono)}
.fd-cmpt td.best{background:var(--ok-soft)}
.fd-cmpt td{white-space:normal}
.fd-cmpt td:first-child{color:var(--ink2);font-size:var(--fs-md);white-space:normal}
.fd-cmpt th{white-space:normal}
.fd-cmpt th .fh{border:0;background:transparent;cursor:pointer;text-align:right;padding:0;min-height:44px;font:inherit;font-weight:700;font-size:var(--fs-xs);color:var(--ink);line-height:1.25;display:flex;align-items:center;gap:6px;justify-content:flex-end;width:100%}
.fd-cmpt th .fh i{width:10px;height:10px;border-radius:50%;flex:none}
.fd-cmpt tr.cgh td{background:var(--card2);font-weight:700;font-size:var(--fs-sm);color:var(--ink2);height:40px}
.fd-cmpt small.rl,.fdb td small.rl{display:block;font-size:var(--fs-xs);color:var(--muted)}
.fd-cmpt small.dt{display:block;font-size:var(--fs-xs);color:var(--muted);font-family:var(--mono)}
.fd-cgh-r{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2h)}
.fd-cbar{display:block;height:6px;border-radius:3px;background:var(--line2);margin:5px 0 1px auto;max-width:150px;position:relative;overflow:hidden}
.fd-cbar i{position:absolute;right:0;top:0;bottom:0;border-radius:3px}
.fd-cbar.red i{background:var(--bad)}.fd-cbar.grn i{background:var(--ok)}.fd-cbar.neu i{background:var(--chart-avg)}
.fd-cmp-empty{border:1px dashed var(--line);border-radius:var(--r-md);background:var(--card2);color:var(--muted);font-size:var(--fs-body);padding:var(--sp-5);text-align:center;margin-top:var(--sp-3)}
.fd-foot{margin-top:var(--sp-5);border-top:1px solid var(--line)}
/* 10-23 設計語言 v1 統一：頁底「計法及資料說明／法規聲明」＝可撳列表行，同組合模擬器 .ipf-xrow／RADAR .rd-frow 一模一樣（56 高、--fs-lg 粗字、成行撳、hover 淺底、深色 ›／⌄、行與行一條線） */
.fd-foot .frow{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2h);width:calc(100% + 2 * var(--sp-2));min-height:56px;margin:0 calc(-1 * var(--sp-2));padding:0 var(--sp-2);border:0;border-bottom:1px solid var(--line2);border-radius:0;background:transparent;font:inherit;font-size:var(--fs-lg);font-weight:700;color:var(--ink);cursor:pointer;text-align:left;list-style:none}
.fd-foot summary::-webkit-details-marker{display:none}
.fd-foot .frow:hover{background:var(--card2)}
.fd-foot .frow svg.i{color:var(--ink2);transition:transform .15s}
.fd-foot details[open] .frow svg.i{transform:rotate(180deg)}
@media (prefers-reduced-motion:reduce){.fd-foot .frow svg.i{transition:none}}
.fd-foot .legal{font-size:var(--fs-xs);color:var(--muted);padding:8px 4px 4px;line-height:1.6}

/* ── 表現模組 ── */
.fd-pm .pm-empty,.fdb .pm-empty{height:300px;display:flex;align-items:center;justify-content:center;border:1px dashed var(--line);border-radius:var(--r-md);color:var(--muted);text-align:center;padding:var(--sp-5);background:var(--card2)}
.fd-chart{position:relative;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}   /* #415：iPad 撳圖唔准揀到字 */
.fd-chart .fd-tip{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.fd-chart svg{display:block;width:100%;overflow:visible}
.fd-chart .fd-grid{stroke:var(--line2)}.fd-chart .fd-grid2{stroke:var(--line2);opacity:.6}
.fd-chart .fd-base{stroke:var(--faint);stroke-dasharray:3 4}.fd-chart .fd-zero{stroke:var(--faint)}
.fd-chart .fd-cost{fill:none;stroke:var(--ink2);stroke-width:1.5;stroke-dasharray:5 4}
.fd-chart .fd-area{fill:var(--bad-soft)}
.fd-chart .fd-tick{font-size:var(--fs-xs);fill:var(--muted);font-family:var(--mono)}
.fd-chart .fd-ann{font-size:var(--fs-xs);font-weight:700;fill:var(--ink)}
/* .fd-band／.rk-* 10-23 搬去 ui-kit.css（UIKit.ddMarks 共用：詳情頁風險行＋組合模擬器） */
.fd-chart .hv .vl{stroke:var(--ink2);stroke-width:1;stroke-dasharray:2 3}
.fd-chart .hv circle{fill:var(--card);stroke-width:2.4}
.fd-chart .fd-hit{cursor:crosshair;touch-action:pan-y}
.fd-chart .hb{cursor:pointer}.fd-chart .hb.on{fill:var(--accent-soft)}
.fd-chart .fd-tip{display:none;position:absolute;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:0 6px 20px rgba(0,0,0,.14);padding:8px 10px;font-size:var(--fs-xs);pointer-events:none;z-index:4;white-space:nowrap}
.fd-chart .fd-tip .d{font-family:var(--mono);color:var(--muted);margin-bottom:4px}
.fd-chart .fd-tip div i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px}
.fd-chart .fd-tip div i.dash{height:0;border-top:2px dashed var(--ink2);border-radius:0;vertical-align:3px}
.fd-chart .fd-tip div b{font-family:var(--mono);font-weight:500;margin-left:10px;float:right}
/* 10-05：期間欄頭撳得排序（撳範圍＝成格 44 高） */
.fd-rtbl th button.rs{border:0;background:transparent;font:inherit;font-weight:inherit;color:inherit;cursor:pointer;width:calc(100% + 14px);min-height:44px;margin:-6px -7px;padding:0 7px;text-align:right;white-space:nowrap}
.fd-rtbl th button.rs:hover{color:var(--link)}
.fd-rtbl th.srt{color:var(--ink)}
.fd-rtbl th .ar{margin-left:2px;font-family:var(--sans)}
@container fdb (max-width:820px){.fd-rtbl th:first-child,.fd-rtbl td:first-child{width:130px}.fd-rtbl th,.fd-rtbl td{padding:6px 4px}}
.fd-divt td{height:44px}
.fd-chart .fd-legend{display:flex;gap:var(--sp-4);flex-wrap:wrap;font-size:var(--fs-xs);color:var(--ink2);margin-top:var(--sp-1)}
.fd-chart .fd-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px}
/* Trinity ios 皮 hero 細標題用 --fs-2xs（11px）—— 資料庫頁守「字 ≥12」：升返 --fs-xs，其餘（金色、字距）照跟 ios 皮 */
html[data-theme="ios"] .fdb .hero .hlabel{font-size:var(--fs-xs)}
.fd-rtbl th{white-space:normal;line-height:1.2}
/* 10-03 用戶：比較表「回報同跌幅＋期間掣」放第一行、基金名放第二行 → 兩行都喺 thead；成個 thead 一齊 sticky（唔再逐個 th sticky，否則第二行會蓋住第一行） */
.fdb .fd-cmpt thead{position:sticky;top:calc(var(--topbar-h) + env(safe-area-inset-top,0px));z-index:4}
.fdb .fd-cmpt thead th{position:static}
.fdb .fd-cmpt thead tr.cgh td{background:var(--card2);box-shadow:inset 0 -1px 0 var(--line)}

/* ═══ 10-23 設計語言 v1（用戶批樣板「新設計」；元件喺 ui-kit.css）═══
   表現模組（詳情＋比較頁同一個零件，.fd-pm）：圖例冇框、每隻一行；回報表冇外框、說明收入 ⓘ；計劃內最好＝列表行。
   基金詳情（.fd-dl，mpf.js／ilas.js 入詳情先加；銀行基金 direct-funds 未改，唔受影響）：卡只得一層、冇邊框、資料唔似掣。 */
.fd-pm .pm-ctrl{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}
.fd-pm .pm-ctrl .mseg button{padding:0 10px}
.fd-pm .pm-ctrl.tight{column-gap:4px}.fd-pm .pm-ctrl.tight .pm-pergrp{gap:4px}.fd-pm .pm-ctrl.tight .mseg button{padding:0 8px}.fd-pm .pm-ctrl.tight .mseg button .m{display:none}   /* 10-24：一行擺唔落先收緊（JS 判斷；收緊都擺唔落就唔收） */   /* 10-23：加基金搬入控制列，投連三組＋加基金 iPad 1180 一行擺得落 */
.fd-pm .pm-ctrl.tight2 .pm-since{display:none}
.fd-pm .pm-pergrp{display:inline-flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}
.fd-pm .pm-leg{margin:var(--sp-4) 0 var(--sp-1)}   /* 10-24：圖例樣式搬咗去 ui-kit.css（UIKit.legend，RADAR 共用） */
.fd-pm .pm-ctrl .lgadd,.fd-pm .pm-ctrl .pm-full{margin-left:auto}   /* 10-23 用戶：加基金喺控制列最右；窄位摺行都靠右 */
.fd-pm .pm-ctrl .lgadd{border-top-width:4px;border-bottom-width:4px;border-radius:10px / 14px}   /* 可見高 36 ＝ .mseg 灰槽、同一條中線；撳範圍照 44 */
.fd-pm .pm-ctrl .pm-full{font-size:var(--fs-xs);color:var(--muted);min-height:44px;display:inline-flex;align-items:center}
.fd-pm .pm-chart{position:relative;margin-top:var(--sp-2);min-height:300px}
.fd-pm .pm-note{font-size:var(--fs-xs);color:var(--muted);margin-top:var(--sp-1);min-height:18px}
.fd-pm .pm-sec{margin-top:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid var(--line2)}
.fd-pm .pm-ret>.hd3{margin-bottom:var(--sp-1)}
.fd-pm .pm-empty,.fd-dl .pm-empty{height:240px;display:flex;align-items:center;justify-content:center;color:var(--muted);text-align:center;padding:var(--sp-5)}
.fd-rtbl{margin-top:var(--sp-2)}
.fd-rtbl+.fd-rtbl{margin-top:var(--sp-4)}
.fd-rtbl .hd3 small{margin-left:2px}
.fd-rtbl .ipop{margin-top:4px}
.fd-rtbl table{table-layout:fixed;margin-top:4px}
.fd-rtbl th,.fd-rtbl td{padding:6px 7px;height:44px}
.fd-rtbl th:first-child,.fd-rtbl td:first-child{width:200px;white-space:normal}
.fdb .fd-rtbl thead th{background:var(--card);font-size:var(--fs-xs);color:var(--ink2)}
.fdb .fd-rtbl thead th.hl{background:linear-gradient(var(--accent-soft),var(--accent-soft)) var(--card)}   /* sticky 表頭要實底：半透明金疊喺實底上 */
.fd-rtbl th.tt{font-weight:700;text-align:left}
.fd-rtbl td.fn .w{display:flex;align-items:center;gap:var(--sp-2)}
.fd-rtbl td.fn .w>i{width:9px;height:9px;border-radius:50%;flex:none}
.fd-rtbl td.fn b{display:block;font-size:var(--fs-sm);font-weight:700;line-height:1.3}
.fd-rtbl td.fn small{display:block;font-size:var(--fs-xs);color:var(--muted);line-height:1.3;font-weight:400}
.fd-rtbl td.num{font-family:var(--mono);font-size:var(--fs-sm)}
.fd-rtbl .hl{background:var(--accent-soft)}
@container fdb (max-width:820px){.fd-rtbl th:first-child,.fd-rtbl td:first-child{width:140px}}
.fd-pm .pm-quick .hd3{margin-bottom:var(--sp-1)}
.fd-pm .pm-quick .lrow .r.pos{color:var(--ok)}.fd-pm .pm-quick .lrow .r.neg{color:var(--bad)}

/* ── 基金詳情（.fd-dl） ── */
.fd-dl .card{border:0;border-radius:var(--r-lg);box-shadow:var(--shadow)}
.fd-dl .f-card{padding:var(--sp-4) var(--sp-5)}
.fd-dl .f-card+.f-card{margin-top:var(--sp-4)}
.fd-dl .logo{border:0}
.fd-dl .fd-chart .fd-tip{border:0;box-shadow:0 6px 24px rgba(0,0,0,.16)}
.fd-dl .fd-topbar{margin-bottom:var(--sp-2)}
.fd-dl .fd-fh-r1 .logo{background:#fff}
.fd-dl .fd-fh-r2{gap:var(--sp-5);margin-top:var(--sp-3)}
.fd-dl .fd-qa{padding:0}
.fd-dl .fd-qa .l{display:flex;align-items:center;gap:6px;min-height:20px}
.fd-dl .fd-qa .l .ibtn{margin:-12px -12px -12px -8px}
.fd-dl .fd-qa .ipop{margin:6px 0}
.fd-dl .fd-fh-q{gap:0}
.fd-dl .fd-fh-q>.fd-qa{padding:0 var(--sp-4)}
.fd-dl .fd-fh-q>.fd-qa:first-child{padding-left:0}
.fd-dl .fd-fh-q>.fd-qa+.fd-qa{border-left:1px solid rgba(255,255,255,.14)}
@container fdb (max-width:700px){.fd-dl .fd-fh-q>.fd-qa{padding:var(--sp-2) var(--sp-3) var(--sp-2) 0}.fd-dl .fd-fh-q>.fd-qa+.fd-qa{border-left:0}}
.fd-dl .fd-tabbar{padding:var(--sp-3) 0 0;margin-top:var(--sp-2)}
.fd-dl .fd-tabbar .utabs{flex:1}
.fd-dl #tabBody{margin-top:var(--sp-4)}
.fd-dl .hd3 .sub{font-size:var(--fs-xs);color:var(--muted)}
.fd-dl .hd3 .sp{flex:1}
.fd-dl .hd3 .mseg{margin-left:auto}
.fd-dl .fd-sec{margin-top:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid var(--line2)}
.fd-dl .f-card>.hd3{margin-bottom:var(--sp-2)}
.fd-dl .f-card h2 .ibtn{margin:-14px -10px}
.fd-dl .rk-chart{position:relative}
.fd-dl .fd-divt tr.more td{text-align:center;background:transparent}

/* ═══ 10-23 設計語言 v1 第二批：一覽／比較／平台優勢／比較托盤（元件喺 ui-kit.css；mpf.js／ilas.js 入呢三頁都加 .fd-dl）═══
   三級控件：hero 金色 .seg 只得頁面切換；睇法＝.utabs（右邊跟 ⓘ：計法／排法說明撳先開）；類別＝.mseg（帶隻數）。
   資料冇框冇底色：多計劃標籤、貨幣、風險級別刻度、平台數字格、比較表「最高」（改粗體）；比較托盤 chip 冇框。 */
.fd-lensbar{display:flex;align-items:flex-end;gap:var(--sp-1);margin-top:var(--sp-4);border-bottom:1px solid var(--line)}
.fd-lensbar .utabs{flex:none;min-width:0;border-bottom:0}
.fd-lensbar .ibtn{align-self:center;margin:0 -10px 0 -6px}
#listInfoP .ipop{margin:var(--sp-2) 0 0}
.fd-dl .fd-tools{justify-content:flex-start;margin:var(--sp-3) 0 var(--sp-2h);gap:var(--sp-2) var(--sp-4)}
.fd-dl .fd-tools .mseg{flex-wrap:wrap;height:auto;min-height:44px}
.fd-dl .fd-tools .mseg::before{top:4px;bottom:4px}
.fd-cap{display:flex;flex-wrap:wrap;gap:var(--sp-1) var(--sp-4);margin:0!important;font-size:var(--fs-sm);color:var(--ink2)}
.fd-cap[hidden]{display:none}
.fd-cap em{display:inline-flex;align-items:center;gap:6px;font-style:normal;font-weight:600;color:var(--ink)}
.fd-cap em i{width:10px;height:10px;border-radius:50%;background:var(--sc);flex:none}
.fd-cap em b{font-family:var(--mono);font-weight:500;color:var(--muted)}
/* 多計劃標籤：色點＋字（冇框） */
.fd-stag{display:inline-flex;align-items:center;gap:5px;border:0;padding:0;border-radius:0;margin-right:8px}
.fd-stag::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--sc);flex:none}
.fd-fundcell .sub .cur{font-family:var(--mono);color:var(--ink2);margin-right:6px}
/* 風險級別：一條連住嘅刻度（選中嗰格實色、其餘淡） */
.fd-riskbar{display:inline-flex;gap:1px;width:84px;height:8px;border-radius:999px;overflow:hidden;background:var(--line2);vertical-align:middle}
.fd-riskbar i{flex:1;width:auto;height:auto;border-radius:0;background:var(--line)}
.fd-riskbar i.on{background:currentColor}
.fd-dl .fd-ltbl thead th{background:var(--card)}
.fd-dl .fd-ltbl tr.more td{background:transparent}
.fd-dl .fd-tblcard{padding:0 var(--sp-2)}
/* 比較托盤：浮起一層（陰影、冇邊框）；chip 冇框：色點＋名＋✕ */
.fd-tray{border:0}
.fd-tray .fd-tchip{border:0;background:transparent;padding:0 0 0 4px;border-radius:0}
body.fd-pk-open .fd-tray,body:has(>.fd-drawer.on) .fd-tray{transform:translateY(140%);transition:none}
/* 比較頁「風險及基本資料」 */
.fd-cmph{margin-bottom:var(--sp-2)}
.fd-cmpt col.c-lab{width:190px}
.fd-cmpt td.num{font-variant-numeric:tabular-nums;text-align:right}
.fd-cmpt td.best{background:transparent;font-weight:700}
.fd-cmpt th .fh{align-items:flex-start}
.fd-cmpt th .fh>i{margin-top:4px}
.fd-cmpt th .fh>span{display:block;min-width:0;text-align:right}
.fd-cmpt th .fh b{display:block;font-size:var(--fs-xs);line-height:1.3}
.fd-cmpt th .fh small{display:block;font-size:var(--fs-xs);font-weight:400;color:var(--muted);line-height:1.3}
.fdb .fd-cmpt thead tr.cgh td{background:var(--card)}
.fd-cmpt tbody tr.cgh td{background:transparent;color:var(--ink);font-size:var(--fs-md);padding-top:var(--sp-4);border-bottom:1px solid var(--line)}
.fd-cmpt td.ddc{padding:0}
.fd-ddb{display:flex;align-items:center;gap:6px;width:100%;min-height:64px;border:0;background:transparent;padding:6px 8px 6px 12px;font:inherit;color:inherit;cursor:pointer;text-align:right}
.fd-ddb:hover,.fd-ddb[aria-expanded="true"]{background:var(--card2)}
.fd-ddb .w{flex:1;min-width:0}
.fd-ddb .v{font-weight:inherit}
.fd-ddb .cv{color:var(--faint);display:flex;flex:none;transition:transform .15s}
.fd-ddb .cv svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round}
.fd-ddb[aria-expanded="true"] .cv{transform:rotate(180deg);color:var(--ink2)}
.fd-ddb:focus-visible{outline:2px solid var(--brand-green);outline-offset:-2px}
.fd-cmpt tr.fd-ddx td{padding:var(--sp-2) var(--sp-2) var(--sp-3);white-space:normal;background:transparent}
.fd-ddh{display:flex;align-items:baseline;gap:var(--sp-2);flex-wrap:wrap;margin:0 0 var(--sp-1)}
.fd-ddh i{width:10px;height:10px;border-radius:50%;flex:none;align-self:center}
.fd-ddh b{font-size:var(--fs-md)}
.fd-ddh small{font-size:var(--fs-xs);color:var(--muted)}
.fd-cmpt .rk-chart{position:relative}
.fd-cmp-empty{border:0;background:transparent;padding:var(--sp-5) 0;text-align:left;margin:var(--sp-3) 0 0}
.fd-cmp-empty p{margin:0 0 var(--sp-3)}
p.fd-cmp-empty{margin:var(--sp-3) 0 0;padding:var(--sp-3) 0}
/* 平台優勢：數字格冇框冇底色（標題＋大字＋細字全港平均＋兩條柱），兩格中間一條分隔線 */
.fd-dl .fd-pbars{gap:0;margin-top:var(--sp-2)}
.fd-dl .fd-pbar{border:0;border-radius:0;background:transparent;padding:var(--sp-2) var(--sp-5) var(--sp-2) 0}
.fd-dl .fd-pbar+.fd-pbar{border-left:1px solid var(--line2);padding-left:var(--sp-5)}
.fd-dl .fd-pbar .l{display:flex;align-items:center;gap:6px;min-height:28px}
.fd-dl .fd-pbar .ipop{margin:4px 0 8px}
@container fdb (max-width:620px){.fd-dl .fd-pbar+.fd-pbar{border-left:0;border-top:1px solid var(--line2);padding-left:0;margin-top:var(--sp-2)}}
.fd-dl .fd-plat-f h3{color:var(--ink);font-size:17px}
.fd-dl .fd-plat-f ul{list-style:none;padding:0;gap:0}
.fd-dl .fd-plat-f li{padding:var(--sp-3) 0;border-bottom:1px solid var(--line2)}
.fd-dl .fd-plat-f li:last-child{border-bottom:0}
.fd-dl .fd-plat-f li span{color:var(--ink2);line-height:1.6}
.fd-dl .fd-cmpt thead th{background:var(--card)}
/* 比較表數字右邊緣對齊（列表行原則）：跌幅格有 › 佔位，其他格右邊留返同一個位 */
.fd-dl .fd-cmpt td.num:not(.ddc),.fd-dl .fd-cmpt th.num{padding-right:30px}
.fd-cmpt td.best small,.fd-cmpt td.best .fd-cbar{font-weight:400}
.fd-cmpt th .fh{font-family:var(--sans)}
.fd-cmpt small.dt .nw{white-space:nowrap}   /* 窄位（820 直）日期唔准喺「-」度斷開 */

/* ═══ 10-28 iPhone 手機版（只喺 html[data-dev="phone"]；iPad／電腦一條都唔中 —— tools/headless/mob-zero.sh 逐頁驗）═══
   以 iPhone Air 420×912 對線：框（hero 入面嘅掣／揀選／搜尋、卡、表）左右邊＝頁邊 12px；文字再入 4px＝16px；卡外標題 17px；卡只一層。
   一覽表改列表行（FundDB.phoneList）：剔選｜名＋副題｜›，下面數字三格一行、格頂細字欄名（排緊嗰欄粗字）；表頭排序改「排序」淺色掣＋底片。
   hero 貼兩邊（同客戶列表／詳情頁頭一樣）；頁名已喺頂欄 → hero 唔再出大標題，淨留「全港 N 隻 · 最新價」；強積金｜投連分段（FundDB.invSeg）頂頭。 */
.fd-psort{display:none}
html[data-dev="phone"] .fdb>.hero{margin:0 calc(-1 * var(--sp-3));border-radius:0;box-shadow:none;padding:var(--sp-2) var(--sp-3) var(--sp-3)}
html[data-dev="phone"] .fdb>.hero:first-child{margin-top:calc(-1 * var(--sp-3))}
html[data-dev="phone"] .fdb .hero .fd-lh-top .hlabel{display:none}   /* 10-29：頁頂「強積金｜投連」分段收咗（底部「投資」開選單）；細標題＝頂欄頁名，唔重複 */
html[data-dev="phone"] .fdb .hero .fd-lh-top{gap:var(--sp-2)}
html[data-dev="phone"] .fdb .hero .fd-lh-top .t{padding:0 var(--sp-1)}
html[data-dev="phone"] .fdb .hero .fd-lh-top h1{font-size:0;line-height:0;gap:0;visibility:hidden}   /* 大標題＝頂欄頁名（唔重複）；淨留 meta */
html[data-dev="phone"] .fdb .hero .fd-lh-top h1 .meta{font-size:var(--fs-sm);line-height:1.5;visibility:visible}
html[data-dev="phone"] .fdb .hero #pageSeg{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);width:100%}
html[data-dev="phone"] .fdb .hero #pageSeg button{white-space:normal;min-height:44px;padding:2px var(--sp-1);line-height:1.2;font-size:var(--fs-sm)}
html[data-dev="phone"] .fd-lh-row{margin-top:var(--sp-2h);gap:var(--sp-2)}
html[data-dev="phone"] .fd-pick .tx b{white-space:normal}
html[data-dev="phone"] .fd-sbox input{font-size:16px}   /* iPhone Safari 細過 16px 撳落去會自動放大成頁 */
/* 睇法分頁：平均攤、長字摺行（唔准截字） */
html[data-dev="phone"] .fd-lensbar{margin-top:var(--sp-2)}
html[data-dev="phone"] .fd-lensbar .utabs,html[data-dev="phone"] .df-lens .utabs{flex:1 1 auto;min-width:0;gap:0;flex-wrap:nowrap}
html[data-dev="phone"] .fd-lensbar .utabs button,html[data-dev="phone"] .df-lens .utabs button{flex:1 1 auto;min-width:44px;padding:0 var(--sp-1);font-size:var(--fs-md);white-space:normal;line-height:1.25;text-align:center}
html[data-dev="phone"] .fd-lensbar .ibtn{margin:0 -6px 0 0}
/* 篩選 .mseg（10-29 起手機改選單掣，FundPhone；剩低嘅照摺行全闊） */
html[data-dev="phone"] .fd-dl .fd-tools{margin:var(--sp-2h) 0 var(--sp-2)}
html[data-dev="phone"] .fd-tools .mseg,html[data-dev="phone"] .df-flt .mseg{flex:1 1 100%;max-width:100%;flex-wrap:wrap;height:auto;min-height:44px}
html[data-dev="phone"] .fdb .mseg button{min-width:44px}
html[data-dev="phone"] .fd-tools .mseg::before,html[data-dev="phone"] .df-flt .mseg::before{top:4px;bottom:4px}
html[data-dev="phone"] .fd-dl .fd-tools:not(:has(>:not(.phm-hid):not([hidden]))){display:none}   /* 類別收入排序列之後成行冇嘢 → 唔留空位 */
/* 排序列（10-29）：「類別：全部 ▾」｜「⇅ 3 年 · 由高至低」一行（窄位摺行）；ⓘ 說明框喺下面原位開 */
html[data-dev="phone"] .fd-psort{display:block;margin:var(--sp-2h) 0 var(--sp-2)}
html[data-dev="phone"] .fd-psort>.r{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2)}
html[data-dev="phone"] .fd-psort button.act{max-width:100%;min-width:0;text-align:left}
html[data-dev="phone"] .fd-psort button.act span{min-width:0;white-space:normal;line-height:1.25}
html[data-dev="phone"] .fd-psort .ipop{margin-top:var(--sp-2)}
/* 一覽表 → 列表模式（10-29 用戶：「應該係要用列表模式」）：欄名黏頂出一次；每行 剔選｜名（＋細字類別）｜最多 3 欄數字（右對齊、等寬）；欄闊固定 → 上下行對齊 */
html[data-dev="phone"] .fd-tblcard,html[data-dev="phone"] .fd-dl .fd-tblcard{padding:0;overflow:clip}
html[data-dev="phone"] .fd-ltbl{display:block;width:100%;--fdp-cw:clamp(56px,16.2vw,68px);--fdp-cwr:clamp(42px,11vw,48px);--fdp-cwd:clamp(66px,18vw,76px)}
html[data-dev="phone"] .fd-ltbl thead,html[data-dev="phone"] .fd-ltbl tbody{display:block;width:100%}
html[data-dev="phone"] .fd-ltbl colgroup{display:none}
html[data-dev="phone"] .fd-ltbl thead{position:sticky;top:calc(var(--topbar-h) + env(safe-area-inset-top,0px));z-index:4;background:var(--card);box-shadow:inset 0 -1px 0 var(--line)}
html[data-dev="phone"] .fd-ltbl :is(thead tr,tr.link){display:grid;grid-template-columns:var(--fdp-cols,44px minmax(0,1fr));column-gap:6px;padding:0 var(--sp-3) 0 0}
html[data-dev="phone"] .fdb .fd-ltbl :is(thead,tbody) tr>:is(th,td).fdp-x,html[data-dev="phone"] .fdb .fd-ltbl :is(thead,tbody) tr>:is(th,td):last-child:not(.avc):not([colspan]){display:none}
html[data-dev="phone"] .fdb .fd-ltbl thead th{position:static;display:flex;align-items:flex-end;justify-content:flex-end;height:auto;min-height:44px;padding:var(--sp-2) 0 var(--sp-1h);border:0;background:transparent;box-shadow:none;font-family:var(--sans);font-size:var(--fs-xs);font-weight:500;color:var(--muted);text-align:right;white-space:normal;line-height:1.25;min-width:0}
html[data-dev="phone"] .fdb .fd-ltbl thead th[data-k="n"]{justify-content:flex-start;text-align:left}
html[data-dev="phone"] .fdb .fd-ltbl thead th:first-child{justify-content:center;align-items:center;padding:0}
html[data-dev="phone"] .fdb .fd-ltbl thead th.sorted{color:var(--brand-green-deep);font-weight:700}
html[data-dev="phone"] .fdb .fd-ltbl thead th.sorted::after{font-size:var(--fs-xs);margin-left:1px}
html[data-dev="phone"] .fd-ltbl tr.link{border-bottom:1px solid var(--line2)}
html[data-dev="phone"] .fd-ltbl tbody:last-child tr.link:last-child{border-bottom:0}
html[data-dev="phone"] .fd-ltbl tr.link>td{display:block;height:auto;padding:var(--sp-2h) 0;border:0;min-width:0;background:transparent}
html[data-dev="phone"] .fd-ltbl tr.link>td.chk{grid-row:1/span 2;padding:0;align-self:stretch}
html[data-dev="phone"] .fd-ltbl tr.link>td.chk .fd-ck{width:44px;height:100%;min-height:52px}
html[data-dev="phone"] .fd-ltbl tr.link>td.fund{grid-column:2}
html[data-dev="phone"] .fd-ltbl tr.link>td.fund .logo,html[data-dev="phone"] .fd-ltbl tr.link>td.fund .fd-fundcell>.lg{display:none}
html[data-dev="phone"] .fd-ltbl tr.link>td.fund .nm{font-size:var(--fs-md);line-height:1.3}
html[data-dev="phone"] .fd-ltbl tr.link>td.fund .sub{line-height:1.35}
html[data-dev="phone"] .fd-ltbl tr.link>td.num{text-align:right;white-space:normal;font-size:max(12px,min(var(--fs-md),3.4vw));line-height:1.3;letter-spacing:-.01em}
html[data-dev="phone"] .fd-ltbl tr.link>td.srt{font-weight:700}
html[data-dev="phone"] .fd-ltbl tr.link>td.fdp-dt{font-size:var(--fs-xs);white-space:nowrap;letter-spacing:-.02em;padding-top:calc(var(--sp-2h) + 2px)}
html[data-dev="phone"] .fd-ltbl tr.link>td.avc{grid-column:2/-1;padding:0 0 var(--sp-2h)}
html[data-dev="phone"] .fd-ltbl td .fd-riskbar{display:flex;width:100%;max-width:40px;height:5px;margin:4px 0 0 auto}
html[data-dev="phone"] .fd-ltbl td .fd-riskn{display:block;margin:0;font-size:var(--fs-sm);white-space:nowrap}
html[data-dev="phone"] .fd-ltbl td .fd-riskbar+.fd-riskn{margin-top:2px}
html[data-dev="phone"] .fd-ltbl .fdp-ib{display:inline-flex}
html[data-dev="phone"] .fd-ltbl tbody tr:not(.link){display:block}
html[data-dev="phone"] .fd-ltbl tbody tr:not(.link)>td{display:block;height:auto;min-height:52px;padding:var(--sp-1) var(--sp-1)}
/* 比較托盤：浮喺底部導航上面；未有基金時唔出（唔准蓋住內容）；chip 摺行唔截名 */
html[data-dev="phone"] .fd-tray{left:var(--sp-3);right:var(--sp-3);bottom:calc(var(--tabbar-h) + var(--sp-2) + env(safe-area-inset-bottom,0px));flex-wrap:wrap;row-gap:var(--sp-1)}
html[data-dev="phone"] .fd-tray:not(.on){visibility:hidden}
html[data-dev="phone"] .fd-tray .chips{flex:1 1 100%;flex-wrap:wrap;overflow:visible}
html[data-dev="phone"] .fd-tray .fd-tchip{max-width:100%}
html[data-dev="phone"] .fd-tray .fd-tchip .t{white-space:normal;line-height:1.3}
html[data-dev="phone"] .fd-tray .go{margin-left:auto}
html[data-dev="phone"] body.fd-has-tray .fdb{padding-bottom:160px}
/* sheet → 由底升起嘅底片：10-31 手機 v2 底片統一 —— 殼改全站 .th-sheet（fund-db.js sheet()：.th-sheet.on.fd-shw > .scrim ＋ .box.fd-sheet），
   開收動畫（thShUp／thShDown）、暗位、底＝導航列頂全部由 shell.css .th-sheet 管；呢度淨係令 .fd-sheet 做 .box（蓋過 .fd-sheet 置中／淡入嗰套）。
   left:50%＋translateX(-50%)：shell thShUp 係 translate(-50%,…)，唔可以 left:0。 */
html[data-dev="phone"] .th-sheet.fd-shw>.box.fd-sheet{position:absolute;top:auto;right:auto;bottom:0;left:50%;width:100%;transform:translateX(-50%);opacity:1;transition:none;z-index:auto;
  display:flex;flex-direction:column;overflow:hidden;padding:0 0 env(safe-area-inset-bottom,0px);background:var(--card);color:var(--ink);border-radius:16px 16px 0 0;max-height:calc(100% - env(safe-area-inset-top,0px) - var(--sp-6))}
html[data-dev="phone"] body.th-has-tabbar .th-sheet.fd-shw>.box.fd-sheet{padding-bottom:0}
html[data-dev="phone"] .fd-sheet .sh-hd{padding:var(--sp-3) var(--sp-3) var(--sp-2) var(--sp-4)}
/* 頁底兩行：線 12／408、字 16 */
html[data-dev="phone"] .fd-foot .frow{width:100%;margin:0;padding:0 var(--sp-1)}
/* ── 手機：基金詳情／比較／平台優勢（同一套 .fdb 骨架）── */
html[data-dev="phone"] .fdb .fd-topbar{margin:calc(-1 * var(--sp-1)) 0 var(--sp-1)}
html[data-dev="phone"] .fdb .f-card,html[data-dev="phone"] .fd-dl .f-card{padding:var(--sp-3h) var(--sp-3)}
html[data-dev="phone"] .fdb .card+.card,html[data-dev="phone"] .fd-dl .f-card+.f-card{margin-top:var(--sp-3)}
/* 詳情 hero：名＋價分兩行；三格答案一格一行（分隔線） */
html[data-dev="phone"] .fd-fh-r1{flex-wrap:wrap;gap:var(--sp-2) var(--sp-3);align-items:flex-start}
html[data-dev="phone"] .fd-fh-r1 .logo{width:44px;height:44px}
html[data-dev="phone"] .fd-fh-r1 .t{flex:1 1 0}
html[data-dev="phone"] .fd-fh-r1 h1{font-size:var(--fs-xl)}
html[data-dev="phone"] .fd-fh-r1 .p{flex:1 1 100%;text-align:left;display:flex;align-items:baseline;flex-wrap:wrap;gap:0 var(--sp-2);padding-left:var(--sp-1)}
html[data-dev="phone"] .fd-fh-r1 .p .v{font-size:var(--fs-2xl)}
html[data-dev="phone"] .fd-fh-r1 .p .dt{flex:1 1 100%}
html[data-dev="phone"] .fd-fh-r2,html[data-dev="phone"] .fd-dl .fd-fh-r2{gap:var(--sp-2) var(--sp-3);padding-left:var(--sp-1)}
html[data-dev="phone"] .fd-fh-q,html[data-dev="phone"] .fd-dl .fd-fh-q{grid-template-columns:1fr;gap:0;padding-top:0}
html[data-dev="phone"] .fd-dl .fd-fh-q>.fd-qa{padding:var(--sp-2h) var(--sp-1)}
html[data-dev="phone"] .fd-dl .fd-fh-q>.fd-qa+.fd-qa{border-left:0;border-top:1px solid rgba(255,255,255,.14)}
html[data-dev="phone"] .fd-qa .v{white-space:normal}
/* 分頁：平均攤、黏頂 */
html[data-dev="phone"] .fd-dl .fd-tabbar{padding-top:var(--sp-2)}
html[data-dev="phone"] .fd-dl .fd-tabbar .utabs{gap:0;flex-wrap:nowrap}
html[data-dev="phone"] .fd-dl .fd-tabbar .utabs button{flex:1 1 auto;min-width:44px;padding:0 var(--sp-1);font-size:var(--fs-md);white-space:normal;line-height:1.25;text-align:center}
html[data-dev="phone"] .fd-dl #tabBody{margin-top:var(--sp-3)}
/* 表現模組：控件摺行（.mseg 全闊）、「加入基金」自己一行靠左 */
html[data-dev="phone"] .fd-pm .pm-ctrl{gap:var(--sp-1) var(--sp-2)}
html[data-dev="phone"] .fd-pm .pm-ctrl .mseg{flex-wrap:wrap;height:auto;max-width:100%}
html[data-dev="phone"] .fd-pm .pm-pergrp{flex:0 1 auto;display:inline-flex;align-items:center;flex-wrap:wrap;gap:2px var(--sp-2);min-width:0}   /* 10-29：投資方式＋期間兩粒選單掣同一行（FundPhone），起日貼期間 */
html[data-dev="phone"] .fd-pm .pm-ctrl .lgadd,html[data-dev="phone"] .fd-pm .pm-ctrl .pm-full{margin-left:auto}
/* 圖例（UIKit.legend）：名一行（摺行唔截）｜數字一行｜「由高位最多跌」細掣一行；✕ 喺右邊 */
html[data-dev="phone"] .fdb .uk-leg .lg,html[data-dev="phone"] .fdb .uk-leg.has-dd .lg{grid-template-columns:10px minmax(0,1fr) 44px;row-gap:2px;padding:var(--sp-2) 0;column-gap:var(--sp-2h)}
html[data-dev="phone"] .fdb .uk-leg .lg>.dot{grid-row:1;align-self:center}
html[data-dev="phone"] .fdb .uk-leg .lg .nm{grid-column:2;grid-row:1}
html[data-dev="phone"] .fdb .uk-leg .lg .n1{flex-wrap:wrap;row-gap:2px}
html[data-dev="phone"] .fdb .uk-leg .lg .n1 b{white-space:normal;flex:0 1 auto}
html[data-dev="phone"] .fdb .uk-leg .lg .nm small{white-space:normal}
html[data-dev="phone"] .fdb .uk-leg .lg .fig,html[data-dev="phone"] .fdb .uk-leg.has-dd .lg .fig{grid-column:2/3;grid-row:2;flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:2px var(--sp-2h);padding:0}
html[data-dev="phone"] .fdb .uk-leg .lg .s{white-space:normal}
html[data-dev="phone"] .fdb .uk-leg.has-dd .lg .ddb{grid-column:2;grid-row:3;justify-self:start}
html[data-dev="phone"] .fdb .uk-leg .lg>.x,html[data-dev="phone"] .fdb .uk-leg .lg>span:last-child{grid-column:3;grid-row:1/4}
/* 回報表（一筆過／月供）→ 列表行：名一行，下面期間三格一行（格頂細字期間；揀咗嘅期間淺金底） */
html[data-dev="phone"] .fd-rtbl table,html[data-dev="phone"] .fd-rtbl tbody{display:block;width:100%}
html[data-dev="phone"] .fd-rtbl thead{display:none}
html[data-dev="phone"] .fd-rtbl tbody tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-1) var(--sp-2);padding:var(--sp-2h) 0;border-bottom:1px solid var(--line2)}
html[data-dev="phone"] .fd-rtbl tbody tr:last-child{border-bottom:0}
html[data-dev="phone"] .fd-rtbl tbody td{display:block;height:auto;padding:var(--sp-1) var(--sp-1h);border:0;width:auto!important;min-width:0;text-align:left;white-space:normal;border-radius:var(--r-sm)}
html[data-dev="phone"] .fd-rtbl tbody td.fn{grid-column:1/-1;padding:0 0 var(--sp-1)}
html[data-dev="phone"] .fd-rtbl tbody td[data-l]::before{content:attr(data-l);display:block;font-family:var(--sans);font-size:var(--fs-xs);color:var(--muted);line-height:1.3}
html[data-dev="phone"] .fd-rtbl tbody td.num{font-size:var(--fs-md)}
html[data-dev="phone"] .fd-rtbl .hd3{flex-wrap:wrap}
html[data-dev="phone"] .fd-holds .row{grid-template-columns:24px minmax(0,1fr) 96px 64px;gap:var(--sp-2)}
html[data-dev="phone"] .fd-holds .row .w span{width:48px}
/* 比較表「風險及基本資料」（基金做欄）→ 每項一行：項目名全闊一行，下面每隻基金一格（2–4 格平均攤，同表頭基金名同一條欄線） */
html[data-dev="phone"] .fd-cmpt,html[data-dev="phone"] .fd-cmpt thead,html[data-dev="phone"] .fd-cmpt tbody{display:block;width:100%}
html[data-dev="phone"] .fd-cmpt colgroup{display:none}
html[data-dev="phone"] .fdb .fd-cmpt thead{position:static}
html[data-dev="phone"] .fd-cmpt tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--sp-2);border-bottom:1px solid var(--line2)}
html[data-dev="phone"] .fd-cmpt tr:has(>:nth-child(4)){grid-template-columns:repeat(3,minmax(0,1fr))}
html[data-dev="phone"] .fd-cmpt tr:has(>:nth-child(5)){grid-template-columns:repeat(4,minmax(0,1fr))}
html[data-dev="phone"] .fd-cmpt tr>*{display:block;height:auto;min-width:0;border:0;padding:var(--sp-1) 0;text-align:left;white-space:normal}
html[data-dev="phone"] .fd-cmpt tr>:first-child{grid-column:1/-1;padding-top:var(--sp-2h)}
html[data-dev="phone"] .fd-cmpt tbody tr>td.num{padding-bottom:var(--sp-2h)}
html[data-dev="phone"] .fd-dl .fd-cmpt td.num:not(.ddc),html[data-dev="phone"] .fd-dl .fd-cmpt th.num{padding-right:0}
html[data-dev="phone"] .fd-cmpt tr.cgh,html[data-dev="phone"] .fd-cmpt tr.fd-ddx{display:block}
html[data-dev="phone"] .fd-cmpt thead tr:last-child>th:first-child{display:none}
html[data-dev="phone"] .fd-cmpt thead tr:last-child{border-bottom:1px solid var(--line)}
html[data-dev="phone"] .fd-cmpt th .fh{justify-content:flex-start;text-align:left}
html[data-dev="phone"] .fd-cmpt th .fh>span{text-align:left}
html[data-dev="phone"] .fd-cgh-r{flex-wrap:wrap;gap:var(--sp-1) var(--sp-2)}
html[data-dev="phone"] .fd-cgh-r .mseg{flex-wrap:wrap;height:auto;max-width:100%}
html[data-dev="phone"] .fd-cmpt td.ddc{padding:0 0 var(--sp-1)}
html[data-dev="phone"] .fd-ddb{padding:var(--sp-1) 0;text-align:left;min-height:44px}
html[data-dev="phone"] .fd-cbar{margin-left:0}
html[data-dev="phone"] .fd-cmpt small.dt .nw{white-space:normal}
html[data-dev="phone"] .fd-cbar i{left:0;right:auto}
html[data-dev="phone"] .fdb .uk-leg .lg .rkn{display:none}   /* 名次格＝hover 先出；手機冇 hover，佢嘅固定闊度喺摺行時會自己佔一行 */

/* ── 10-29 手機唔出比較橫條（用戶：「打橫嗰啲 BAR 都已經冇意思啦，真係好浪費顯示空間」；揀淨剷「比較用嘅橫條」＝數字旁邊再畫一條表示大細、淨改手機；進度條／比例條照留） ──
   比較表（強積金／投連／銀行基金）：每行左邊項目名（＋細字）、右邊逐隻基金一行「色點＋數值」—— 色點＝表頭嗰隻基金色（第 2 格＝第 1 隻 --chart-1…）；
   數值右對齊等寬字；全部一樣由 fund-db.js cmpPhone 併做一格 td.fdc-same（唔出色點）；最好嗰格照舊 td.best 粗體；冇數照出「—」。
   強積金平台頁「本計劃／全港平均」：大字＋「全港平均 N」一句已經講晒，兩條柱唔出；十大持股：比重 % 照出，條唔出。 */
html[data-dev="phone"] .fd-cbar{display:none}
html[data-dev="phone"] .fd-pbar .r{display:none}
html[data-dev="phone"] .fd-holds .row{grid-template-columns:24px minmax(0,1fr) 64px 64px}
html[data-dev="phone"] .fd-holds .row .w .b{display:none}
html[data-dev="phone"] .fd-holds .row .w{justify-content:flex-end}
html[data-dev="phone"] .fd-holds .row .w span{width:auto}

/* ═══ 10-30 手機版 v2（樣板 v2；用戶：「今次嘅設計做得幾好」）—— 強積金／投連／銀行基金一覽共用；只喺 html[data-dev="phone"] ═══
   核心目標：iPhone 第一屏見最多基金、名一行讀完、每個功能一個入口、揀咗乜時刻見到、唔淨靠顏色（#429）。
   頁頭：頁名＋範圍喺頂欄一行（TH.fresh）；hero 改白底控制區＝底線分頁（每格平均分闊度）｜計劃掣＋方形放大鏡（撳開原位變搜尋格＋取消）。
   一覽：睇法／類別選單掣＋ⓘ 一行（FundDB.phoneList）；表頭黐頂；每行＝名（一行）＋副行（類別；多計劃頭有 logo＋計劃簡稱）｜兩欄數字；冇剔格。 */
html[data-dev="phone"] .fdb>.hero:has(#pageSeg){background:var(--bg);color:var(--ink);padding:0 var(--sp-3) var(--sp-1);border-bottom:1px solid var(--line)}
html[data-dev="phone"] .fdb>.hero:has(#pageSeg)::before,html[data-dev="phone"] .fdb>.hero:has(#pageSeg)::after{display:none}
/* 組合模擬器（10-31 手機 v2 樣板 v3）：同其他分頁一樣白底；模擬器 hero 入面嘅控件深淺色喺 finder-ui.css 手機段 */
/* 10-31：白底 hero 入面嘅選單掣（英文 #pageSeg 放唔落收做選單；shell .hero button.phm-mb 係深底白字 → 白底隱形）改返全站淺綠選單掣 */
html[data-dev="phone"] .fdb>.hero:has(#pageSeg) button.phm-mb{background-color:rgba(0,112,60,.10);color:var(--brand-green-deep)}
html[data-dev="phone"] .fdb .hero .fd-lh-top{display:block}
html[data-dev="phone"] .fdb .hero .fd-lh-top>.t{display:none}   /* 頁名＋範圍已喺頂欄一行 */
html[data-dev="phone"] .fdb .hero #pageSeg{display:flex;gap:0;width:auto;margin:0 calc(-1 * var(--sp-3));padding:0 var(--sp-2);background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0}
html[data-dev="phone"] .fdb .hero #pageSeg button{position:relative;flex:1 1 0;min-width:0;min-height:44px;padding:0 var(--sp-1);background:transparent;border-radius:0;color:var(--muted);font-size:var(--fs-lg);font-weight:500;line-height:1.2;white-space:nowrap}
html[data-dev="phone"] .fdb .hero #pageSeg button.on{color:var(--ink);font-weight:700;background:transparent}
html[data-dev="phone"] .fdb .hero #pageSeg button.on::after{content:"";position:absolute;left:var(--sp-2);right:var(--sp-2);bottom:-1px;height:3px;border-radius:2px;background:var(--accent)}
html[data-dev="phone"] .fdb .hero #pageSeg .n{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:4px;padding:0 5px;border-radius:9px;background:var(--accent);color:var(--accent-ink);font:600 11px var(--mono);vertical-align:2px}
@media (max-width:400px){html[data-dev="phone"] .fdb .hero #pageSeg button{font-size:var(--fs-body)}}
html[data-dev="phone"] .fdb .hero #pageSeg .n[hidden]{display:none}
html[data-dev="phone"] .fdb .hero .fd-lh-row{display:flex;align-items:center;gap:var(--sp-2);margin-top:var(--sp-2)}
html[data-dev="phone"] .fdb .hero .fd-pick{flex:1 1 auto;min-width:0;height:44px;min-height:44px;gap:var(--sp-2);padding:0 var(--sp-2h);border:1px solid var(--line);border-radius:12px;background:var(--card)}
html[data-dev="phone"] .fdb .hero .fd-pick .logo{width:24px;height:24px;flex:none;border-radius:6px}
html[data-dev="phone"] .fdb .hero .fd-pick .tx b{font-size:15px;font-weight:700;white-space:nowrap}
html[data-dev="phone"] .fdb .hero .fdp-lgs{display:flex;flex:none}
html[data-dev="phone"] .fdb .hero .fdp-lgs .logo{margin-right:-6px;border:1.5px solid #fff;background:#fff}
html[data-dev="phone"] .fdb .hero .fdp-lgs .logo:last-child{margin-right:0}
html[data-dev="phone"] .fdb .hero .fd-sdots{display:none}
html[data-dev="phone"] .fdb .hero .fdp-q .fd-sbox{flex:none;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink2);cursor:pointer}
html[data-dev="phone"] .fdb .hero .fdp-q .fd-sbox svg.i{position:static;transform:none;width:20px;height:20px;color:var(--ink2)}
html[data-dev="phone"] .fdb .hero .fdp-q .fd-sbox input{display:none}
html[data-dev="phone"] .fdb .hero .fdp-qx{display:none}
html[data-dev="phone"] .fdb .hero .fdp-qon .fd-pick{display:none}
html[data-dev="phone"] .fdb .hero .fdp-qon .fd-sbox{flex:1 1 auto;display:flex;align-items:center;gap:var(--sp-2);width:auto;padding:0 var(--sp-3);border:1.5px solid var(--brand-green-deep);cursor:text}
html[data-dev="phone"] .fdb .hero .fdp-qon .fd-sbox svg.i{width:18px;height:18px;color:var(--muted)}
html[data-dev="phone"] .fdb .hero .fdp-qon .fd-sbox input{display:block;flex:1;min-width:0;min-height:0;height:40px;padding:0;border:0;background:transparent;outline:0;font-size:16px}
html[data-dev="phone"] .fdb .hero .fdp-qon .fdp-qx{display:inline-flex;align-items:center;flex:none;min-height:44px;padding:0 var(--sp-1);border:0;background:transparent;color:var(--brand-green-deep);font:500 15px var(--sans);cursor:pointer}
/* 一覽控制行：睇法｜類別｜（右）ⓘ；舊睇法分頁行、計劃色點圖例手機唔出（範圍數已喺頂欄、每行副行有 logo＋計劃簡稱） */
html[data-dev="phone"] .fd-lensbar:not(:has(>:not(.phm-hid):not([hidden]):not(:empty))){display:none}
html[data-dev="phone"] .fdb #listLeg{display:none}
html[data-dev="phone"] .fd-psort{margin:var(--sp-2) 0 var(--sp-1)}
html[data-dev="phone"] .fd-psort>.r,html[data-dev="phone"] .fd-phrow{flex-wrap:nowrap}
html[data-dev="phone"] .fd-psort>.r>.phm-mb,html[data-dev="phone"] .fd-phrow>.phm-mb{flex:0 1 auto;min-width:0;height:44px}
html[data-dev="phone"] .fd-psort>.r>.phm-mb .t,html[data-dev="phone"] .fd-phrow>.phm-mb .t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[data-dev="phone"] :is(.fd-psort>.r,.fd-phrow)>#listInfoB{margin-left:auto;flex:none}
html[data-dev="phone"] #listInfoP .ipop,html[data-dev="phone"] #listInfoP.ipop{margin:0 0 var(--sp-2)}
/* 列表：兩欄數字（每欄同闊 → 上下對齊）；冇剔格時名由最左開始（卡邊 12、字 16） */
html[data-dev="phone"] .fd-ltbl{--fdp-cw:clamp(70px,19vw,80px);--fdp-cwr:clamp(56px,15vw,64px);--fdp-cwd:clamp(76px,20vw,86px)}
html[data-dev="phone"] .fd-ltbl.fdp-nochk :is(thead tr,tr.link){padding:0 var(--sp-1)}
html[data-dev="phone"] .fd-ltbl.fdp-nochk tr.link>td.fund{grid-column:1}
html[data-dev="phone"] .fd-ltbl.fdp-nochk tr.link>td.fund .fd-fundcell{display:block}
html[data-dev="phone"] .fd-ltbl tr.link{min-height:58px;align-items:center}
html[data-dev="phone"] .fd-ltbl tr.link>td{padding:9px 0}
html[data-dev="phone"] .fd-ltbl tr.link>td.fund .txt{min-width:0;overflow:hidden}
html[data-dev="phone"] .fd-ltbl tr.link>td.fund .nm{font-size:15px;font-weight:500;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[data-dev="phone"] .fd-ltbl tr.link>td.fund .sub{display:block;margin-top:2px;font-size:var(--fs-xs);line-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
html[data-dev="phone"] .fd-ltbl tr.link>td.fund .sub>.fdp-s{display:inline}
html[data-dev="phone"] .fd-ltbl tr.link>td.fund .sub .fdp-tag{display:inline-flex;align-items:center;gap:3px;vertical-align:top;color:var(--ink2);font-weight:500}
html[data-dev="phone"] .fd-ltbl tr.link>td.fund .sub .fdp-tag::after{content:"·";margin:0 4px;color:var(--muted);font-weight:400}
html[data-dev="phone"] .fd-ltbl tr.link>td.fund .sub .fdp-tag .logo{display:inline-block;width:14px;height:14px;border-radius:3px}
html[data-dev="phone"] .fd-ltbl tr.link>td.num{font-size:var(--fs-md);white-space:nowrap}
/* 表頭：撳數字欄頭揀時段（未排嗰欄出 ⌄、排緊嗰欄綠色 ↓／↑） */
html[data-dev="phone"] .fdb .fd-ltbl thead th[data-fdp-c]{cursor:pointer;align-items:center;font-size:13px}
html[data-dev="phone"] .fdb .fd-ltbl thead th[data-fdp-c]:not(.sorted)::after{content:"";flex:none;width:6px;height:6px;margin:0 2px 3px 5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);opacity:.75}
html[data-dev="phone"] .fdb .fd-ltbl thead th.sorted::after{content:"↓";margin-left:2px;font-family:var(--mono)}
html[data-dev="phone"] .fdb .fd-ltbl thead th.sorted.asc::after{content:"↑"}
html[data-dev="phone"] .fdb .fd-ltbl thead th[data-k="n"]{align-items:center;font-size:13px}
/* 比較表（C1 A 基金做欄，取代 10-29 色點行 —— 用戶：比較表色點分基金「完全唔能夠接受」#429）：
   基金名表頭黐頂（每欄一隻、名寫出嚟、唔出色點）；每項＝項目名全闊一行，下面每隻基金一格，同表頭同一條欄線；
   最好嗰格粗體＋細字「最高」／「跌幅最細」（cmpPhone 加）；全部一樣併做一格（cmpPhone fdc-same）。 */
html[data-dev="phone"] .fdb .fd-cmpt>:is(thead,tbody){display:contents}
html[data-dev="phone"] .fdb .fd-cmpt thead tr:last-child{position:sticky;top:calc(var(--topbar-h) + env(safe-area-inset-top,0px));z-index:3;background:var(--card);box-shadow:0 1px 0 var(--line);padding:var(--sp-2) 0}
html[data-dev="phone"] .fd-cmpt th .fh{display:flex;align-items:center;width:100%;min-height:44px;padding:0;text-align:left}
html[data-dev="phone"] .fd-cmpt th .fh>i{display:none}
html[data-dev="phone"] .fd-cmpt th .fh b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;line-height:17px;font-weight:700;color:var(--ink);white-space:normal}
html[data-dev="phone"] .fd-cmpt th .fh small{display:block;margin-top:2px;font-size:12px;line-height:14px;color:var(--ink2);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[data-dev="phone"] .fd-cmpt.fdp-1plan th .fh small{display:none}
html[data-dev="phone"] .fd-cmpt tbody tr:not(.cgh):not(.fd-ddx)>:first-child{color:var(--muted);font-size:var(--fs-xs);line-height:16px;padding:var(--sp-2) 0 var(--sp-1)}
html[data-dev="phone"] .fd-cmpt tbody tr:not(.cgh):not(.fd-ddx)>:first-child small{display:inline;margin-left:4px}
html[data-dev="phone"] .fd-cmpt tbody tr>td.num{padding:0 0 var(--sp-2);font-size:var(--fs-md);line-height:20px;white-space:nowrap;font-variant-numeric:tabular-nums;min-width:0}
html[data-dev="phone"] .fd-cmpt tbody tr>td.num.ddc,html[data-dev="phone"] .fd-cmpt td.ddc .fd-ddb{white-space:normal}
html[data-dev="phone"] .fd-cmpt td.ddc small.dt{display:block;font-size:var(--fs-xs);line-height:16px}
html[data-dev="phone"] .fd-cmpt tbody tr>td.num.best{font-weight:700}
html[data-dev="phone"] .fd-cmpt td .fdp-bl{display:block;font-family:var(--sans);font-size:12px;line-height:14px;font-weight:700;color:var(--ink2)}
html[data-dev="phone"] .fd-cmpt tbody tr>td.fdc-same{grid-column:1/-1;font-family:var(--sans);color:var(--ink2);white-space:normal}
html[data-dev="phone"] .fd-cmpt td.ddc .fd-ddb{min-height:44px;padding:0;text-align:left}
/* 走勢圖：圖例唔出色點（線尾已寫名，fund-db.js endLabels）；揀基金抽屜／托盤 chip 唔出色點（有名） */
html[data-dev="phone"] .fdb .uk-leg .lg>.dot{display:none}
html[data-dev="phone"] .fdb .uk-leg .lg,html[data-dev="phone"] .fdb .uk-leg.has-dd .lg{grid-template-columns:minmax(0,1fr) 44px}
html[data-dev="phone"] .fdb .uk-leg .lg .nm,html[data-dev="phone"] .fdb .uk-leg .lg .fig,html[data-dev="phone"] .fdb .uk-leg.has-dd .lg .fig,html[data-dev="phone"] .fdb .uk-leg.has-dd .lg .ddb{grid-column:1}
html[data-dev="phone"] .fdb .uk-leg .lg>.x,html[data-dev="phone"] .fdb .uk-leg .lg>span:last-child{grid-column:2}
html[data-dev="phone"] .fd-chart .fd-elab{font:600 12px var(--sans);fill:var(--ink);paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}
html[data-dev="phone"] .fd-tchip .d,html[data-dev="phone"] .fd-tray .fd-tchip i{display:none}
html[data-dev="phone"] .fd-rtbl td.fn .w>i{display:none}   /* 回報表名格：有名就唔使色點 */
html[data-dev="phone"] .fdb .fd-cmpt thead th{border:0;box-shadow:none}
/* 平台優勢（手機 v2）：卡頭計劃名唔出（計劃掣＋頂欄已講）；兩格大字數；特點標題粗體一行、講法下面 */
html[data-dev="phone"] .fd-dl>.card.f-card:has(.fdp-pstats)>h2{display:none}
html[data-dev="phone"] .fdp-pstats{display:grid;grid-template-columns:1fr 1fr;margin:calc(-1 * var(--sp-3h)) calc(-1 * var(--sp-3)) 0;border-bottom:1px solid var(--line2)}
html[data-dev="phone"] .fdp-pstats>div{display:flex;align-items:baseline;gap:6px;padding:var(--sp-3) var(--sp-4) var(--sp-2h)}
html[data-dev="phone"] .fdp-pstats>div+div{border-left:1px solid var(--line2)}
html[data-dev="phone"] .fdp-pstats b{font:600 26px var(--mono);color:var(--ink)}
html[data-dev="phone"] .fdp-pstats span{font-size:var(--fs-md);color:var(--ink2)}
/* 空狀態一個零件（標準 C3，FundDB.empty）：置中標題 18／說明 14 灰／全闊實心掣 52 高、圓角 12、16/700 */
html[data-dev="phone"] .fdp-empty{margin:var(--sp-6,40px) 0 0;padding:0 var(--sp-1);text-align:center}
html[data-dev="phone"] .fdp-empty .t{font-size:18px;font-weight:700;color:var(--ink)}
html[data-dev="phone"] .fdp-empty p{margin:var(--sp-2) 0 22px;font-size:14px;line-height:1.6;color:var(--muted)}
html[data-dev="phone"] .fdp-ebtn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;height:52px;border:0;border-radius:12px;background:var(--brand-deep,var(--primary));color:#fff;font:700 16px var(--sans);cursor:pointer}
html[data-dev="phone"] .fdp-ebtn svg{width:16px;height:16px}
html[data-dev="phone"] .fdp-elink{display:inline-flex;align-items:center;min-height:44px;margin-top:var(--sp-2);border:0;background:transparent;color:var(--brand-green-deep);font:500 15px var(--sans);cursor:pointer}
/* 10-30 用戶 iPhone（HK$10,000 增長卡太多資料）：名一行（✕ 右邊）｜大字賺幾多＋右邊「由高位最多跌」同一行｜副行淨「升幅 · 每年」（總值唔出，大字已講） */
html[data-dev="phone"] .fdb .uk-leg .lg,html[data-dev="phone"] .fdb .uk-leg.has-dd .lg{grid-template-columns:minmax(0,1fr) auto 44px;column-gap:var(--sp-2);row-gap:2px;align-items:center}
html[data-dev="phone"] .fdb .uk-leg .lg .nm,html[data-dev="phone"] .fdb .uk-leg.has-dd .lg .nm{grid-column:1/3;grid-row:1}
html[data-dev="phone"] .fdb .uk-leg .lg .fig,html[data-dev="phone"] .fdb .uk-leg.has-dd .lg .fig{display:contents}
html[data-dev="phone"] .fdb .uk-leg .lg .fig>.v,html[data-dev="phone"] .fdb .uk-leg .lg .fig>.na{grid-column:1;grid-row:2;min-width:0}
html[data-dev="phone"] .fdb .uk-leg.has-dd .lg .ddb{grid-column:2;grid-row:2;justify-self:end;min-height:40px}
html[data-dev="phone"] .fdb .uk-leg .lg .fig>.s{grid-column:1/3;grid-row:3;font-size:var(--fs-xs);white-space:nowrap}
html[data-dev="phone"] .fdb .uk-leg .lg .fig>.s>.fdp-x{display:none}
html[data-dev="phone"] .fdb .uk-leg .lg>.x,html[data-dev="phone"] .fdb .uk-leg .lg>span:last-child{grid-column:3;grid-row:1/4}
/* 回報卡（10-30 用戶批 3A）：一張表、每隻基金一行、兩欄「一筆過｜月供」同一期間；欄頭撳＝揀期間（同圖表一個期間）；FundDB phoneRet */
html[data-dev="phone"] .fd-rtbl:empty{display:none}
html[data-dev="phone"] .fd-rtbl .fdp-rth{flex-wrap:nowrap;gap:var(--sp-2)}
html[data-dev="phone"] .fd-rtbl .fdp-rth small{flex:1;min-width:0;color:var(--muted);font-size:var(--fs-xs)}
html[data-dev="phone"] .fd-rtbl table.fdp-rt thead{display:block;border-bottom:1px solid var(--line)}
html[data-dev="phone"] .fd-rtbl table.fdp-rt :is(thead,tbody) tr{display:grid;grid-template-columns:minmax(0,1fr) 92px 92px;column-gap:6px;align-items:center;padding:var(--sp-2) 0;border-bottom:1px solid var(--line2)}
html[data-dev="phone"] .fd-rtbl table.fdp-rt thead tr{padding:0;border-bottom:0}
html[data-dev="phone"] .fd-rtbl table.fdp-rt tbody tr:last-child{border-bottom:0}
html[data-dev="phone"] .fd-rtbl table.fdp-rt th{display:block;padding:var(--sp-1) 0;border:0;background:transparent;font:500 13px var(--sans);color:var(--muted);text-align:left}
html[data-dev="phone"] .fd-rtbl table.fdp-rt th.num{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;min-height:44px;text-align:right;cursor:pointer}
html[data-dev="phone"] .fd-rtbl table.fdp-rt th .p{display:inline-flex;align-items:center;gap:2px;color:var(--brand-green-deep);font-weight:700}
html[data-dev="phone"] .fd-rtbl table.fdp-rt th .p svg{width:12px;height:12px}
html[data-dev="phone"] .fd-rtbl table.fdp-rt tbody td{display:block;padding:0;border:0;border-radius:0;background:transparent;min-width:0}
html[data-dev="phone"] .fd-rtbl table.fdp-rt tbody td.fn{grid-column:auto}
html[data-dev="phone"] .fd-rtbl table.fdp-rt tbody td.fn b{display:block;font-size:var(--fs-md);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[data-dev="phone"] .fd-rtbl table.fdp-rt tbody td.fn small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[data-dev="phone"] .fd-rtbl table.fdp-rt tbody td.num{text-align:right;font-size:var(--fs-md);white-space:nowrap}
html[data-dev="phone"] .fd-rtbl table.fdp-rt tbody td.num.best{font-weight:700}
html[data-dev="phone"] .fd-rtbl table.fdp-rt .fdp-bl{display:block;font-family:var(--sans);font-size:12px;font-weight:700;color:var(--ink2)}
/* 基金詳情頂部四行（10-30 用戶批）：①logo＋名 ②計劃・類別・編號（公司 logo 已講）③價＋升跌｜右邊「風險 5／7」④答案格一行（投連 4 格＝兩行）；
   每格副行（日期、HK$10,000 →、推出日）入咗嗰格 ⓘ（mpf.js／ilas.js 手機先咁砌）；排名條、刻度條手機唔出（數字已講） */
html[data-dev="phone"] .fd-dl .hero.fd-fh{display:grid;grid-template-columns:36px minmax(0,1fr) auto;column-gap:var(--sp-2h);row-gap:var(--sp-2);padding:var(--sp-3)}
html[data-dev="phone"] .fd-dl .hero.fd-fh>.fd-fh-r1{display:contents}
html[data-dev="phone"] .fd-dl .fd-fh-r1>.logo{grid-column:1;grid-row:1;width:36px;height:36px;align-self:start}
html[data-dev="phone"] .fd-dl .fd-fh-r1>.t{grid-column:2/4;grid-row:1;min-width:0}
html[data-dev="phone"] .fd-dl .fd-fh-r1 h1{font-size:17px;line-height:22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[data-dev="phone"] .fd-dl .fd-fh-r1 .m{display:block;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--fs-xs)}
html[data-dev="phone"] .fd-dl .fd-fh-r1 .m>span{display:inline}
html[data-dev="phone"] .fd-dl .fd-fh-r1>.p{grid-column:1/3;grid-row:2;display:flex;align-items:baseline;flex-wrap:wrap;gap:0 var(--sp-2);padding:0;text-align:left;min-width:0}
html[data-dev="phone"] .fd-dl .fd-fh-r1>.p .v{font-size:24px;line-height:30px}
html[data-dev="phone"] .fd-dl .fd-fh-r1>.p .dt{flex:0 1 auto;font-size:var(--fs-xs)}
html[data-dev="phone"] .fd-dl .hero.fd-fh>.fd-fh-r2{grid-column:3;grid-row:2;align-self:center;margin:0;padding:0;gap:0}
html[data-dev="phone"] .fd-dl .fd-fh-r2 .rscale{gap:6px}
html[data-dev="phone"] .fd-dl .fd-fh-r2 .rscale .track{display:none}
html[data-dev="phone"] .fd-dl .hero.fd-fh>.fd-fh-q{grid-column:1/-1;grid-row:3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;padding:var(--sp-2) 0 0;border-top:1px solid rgba(255,255,255,.14)}
html[data-dev="phone"] .fd-dl .hero.fd-fh>.fd-fh-q:has(>:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr));row-gap:var(--sp-2)}
html[data-dev="phone"] .fd-dl .hero.fd-fh>.fd-fh-q>.fd-qa{padding:0 var(--sp-2) 0 0;border:0;min-width:0}
html[data-dev="phone"] .fd-dl .hero.fd-fh>.fd-fh-q>.fd-qa+.fd-qa{padding-left:var(--sp-2);border-left:1px solid rgba(255,255,255,.14);border-top:0}
html[data-dev="phone"] .fd-dl .hero.fd-fh>.fd-fh-q:has(>:nth-child(4))>.fd-qa:nth-child(3){padding-left:0;border-left:0}
html[data-dev="phone"] .fd-dl .fd-qa .l{font-size:var(--fs-xs);line-height:16px}
html[data-dev="phone"] .fd-dl .fd-qa .v{font-size:18px;line-height:24px;margin-top:2px}
html[data-dev="phone"] .fd-dl .fd-qa .fd-rk,html[data-dev="phone"] .fd-dl .fd-qa .s{display:none}
html[data-dev="phone"] .fd-dl .fd-qa .fdp-tot{font-size:var(--fs-xs);line-height:16px;color:rgba(255,255,255,.82);font-family:var(--mono)}
html[data-dev="phone"] .fd-dl .hero.fd-fh>.ipop.fdp-qp{grid-column:1/-1;margin:0}   /* 答案格 ⓘ 說明：手機搬出嚟喺三格下面全闊原位開（FundDB.phQPops） */
/* 10-31 mob 量度修正：①控制行 ⓘ 唔准伸出頁邊（ui-kit .ibtn 右邊 −14px 負邊令頁面打橫拉 2px）②詳情頂部答案格標題：ⓘ 擺右上（絕對位），標題字唔同數字疊 ③比較表跌幅日期兩行實行高 ④增長卡大字同「由高位最多跌」唔夠位：大字唔縮、跌幅掣自己摺行 */
html[data-dev="phone"] :is(.fd-psort>.r,.fd-phrow)>#listInfoB .ibtn{margin:0 -10px 0 0}
html[data-dev="phone"] .fd-dl .hero.fd-fh .fd-qa .l{display:block;position:relative;min-height:16px;padding-right:22px}
html[data-dev="phone"] .fd-dl .hero.fd-fh .fd-qa .l .ibtn{position:absolute;right:-12px;top:-14px;margin:0}
html[data-dev="phone"] .fdb .fd-cmpt td.ddc .fd-ddb small.dt{display:block;font-size:var(--fs-xs);line-height:16px;margin-top:2px}
html[data-dev="phone"] .fdb .fd-cmpt td.ddc .fd-ddb small.dt .nw{display:inline-block}
html[data-dev="phone"] .fdb .uk-leg .lg,html[data-dev="phone"] .fdb .uk-leg.has-dd .lg{grid-template-columns:max-content minmax(0,1fr) 44px}
html[data-dev="phone"] .fdb .uk-leg.has-dd .lg .ddb{min-width:0;max-width:100%;white-space:normal;text-align:right}
html[data-dev="phone"] .fdb .uk-leg.has-dd .lg .ddb .dl{white-space:normal}
html[data-dev="phone"] .fd-dl .hero.fd-fh .fd-qa .l{line-height:18px}
html[data-dev="phone"] .fd-dl .hero.fd-fh .fd-qa .v{margin-top:4px;line-height:26px}
html[data-dev="phone"] .fd-dl .hero.fd-fh .fd-qa .fdp-tot{line-height:18px}
html[data-dev="phone"] .fd-dl .hero.fd-fh>.fd-fh-q:has(>:nth-child(4)){row-gap:var(--sp-3)}
/* 10-31 mob 量度：計劃掣名、詳情頁基金名太長准摺兩行（唔截）；回報卡名格可以縮（.w／內層 min-width:0，唔准伸入數字欄） */
html[data-dev="phone"] .fdb .hero .fd-pick{height:auto;min-height:44px;padding-top:4px;padding-bottom:4px}
html[data-dev="phone"] .fdb .hero .fd-pick .tx b{white-space:normal;line-height:1.25;overflow:visible}
html[data-dev="phone"] .fd-dl .fd-fh-r1 h1{white-space:normal;overflow:visible;text-overflow:clip;line-height:22px}
html[data-dev="phone"] .fd-rtbl table.fdp-rt tbody td.fn .w{display:flex;min-width:0}
html[data-dev="phone"] .fd-rtbl table.fdp-rt tbody td.fn .w>div{flex:1 1 auto;min-width:0}
html[data-dev="phone"] .fd-rtbl table.fdp-rt tbody td.fn b,html[data-dev="phone"] .fd-rtbl table.fdp-rt tbody td.fn small{white-space:normal;overflow:visible;text-overflow:clip}   /* 一隻基金一行：名准摺行，唔截 */
/* 10-31 用戶 iPhone「掣唔整齊」：表現模組控件排兩行對齊 —— 供款方式（投連再加派息）一粒一行；最後一行「期間」靠左、「加入基金」靠右同高同一條中線；起日細字收埋（圖例同回報表已講期間） */
html[data-dev="phone"] .fd-pm .pm-ctrl{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:var(--sp-2);row-gap:var(--sp-2);align-items:center}
html[data-dev="phone"] .fd-pm .pm-ctrl>.phm-mb{grid-column:1/-1;justify-self:start;max-width:100%;height:44px}
html[data-dev="phone"] .fd-pm .pm-ctrl>.pm-pergrp{grid-column:1;justify-self:start;min-width:0}
html[data-dev="phone"] .fd-pm .pm-ctrl>.pm-pergrp>.phm-mb{height:44px}
html[data-dev="phone"] .fd-pm .pm-ctrl>.pm-pergrp>.pm-since{display:none}
html[data-dev="phone"] .fd-pm .pm-ctrl>:is(.lgadd,.pm-full){grid-column:2;justify-self:end;margin:0;height:44px}
/* 10-31 用戶 iPhone 第二輪：①價擺右上角同名同一行（logo｜名＋副行｜價＋升跌 / 風險），慳一行 ②表現控件一行三粒同高 ③走勢圖上面圖例精簡 */
html[data-dev="phone"] .fd-dl .fd-fh-r1>.logo{grid-row:1/3}
html[data-dev="phone"] .fd-dl .fd-fh-r1>.t{grid-column:2;grid-row:1/3;align-self:start}
html[data-dev="phone"] .fd-dl .fd-fh-r1>.p{grid-column:3;grid-row:1;flex-direction:column;align-items:flex-end;gap:0;text-align:right;justify-self:end}
html[data-dev="phone"] .fd-dl .fd-fh-r1>.p .v{font-size:22px;line-height:26px}
html[data-dev="phone"] .fd-dl .fd-fh-r1>.p .c{font-size:var(--fs-xs);line-height:16px}
html[data-dev="phone"] .fd-dl .hero.fd-fh>.fd-fh-r2{grid-column:3;grid-row:2;justify-self:end;align-self:start}
html[data-dev="phone"] .fd-dl .hero.fd-fh>.fd-fh-q{grid-row:3}
html[data-dev="phone"] .fd-pm .pm-ctrl{grid-template-columns:repeat(var(--pmc,2),minmax(0,1fr)) auto}
html[data-dev="phone"] .fd-pm .pm-ctrl:has(.mseg[data-pm="tr"]){--pmc:3}
html[data-dev="phone"] .fd-pm .pm-ctrl>.phm-mb{grid-column:auto;justify-self:stretch;min-width:0}
html[data-dev="phone"] .fd-pm .pm-ctrl>.pm-pergrp{grid-column:auto;justify-self:stretch;display:flex}
html[data-dev="phone"] .fd-pm .pm-ctrl>.pm-pergrp>.phm-mb{flex:1;min-width:0}
html[data-dev="phone"] .fd-pm .pm-ctrl .phm-mb .t{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[data-dev="phone"] .fd-pm .pm-ctrl>:is(.lgadd,.pm-full){grid-column:auto}
html[data-dev="phone"] .fdb #pmFund .uk-leg:not(:has(.lg+.lg)) .lg .nm{display:none}   /* 淨基金詳情頁（頁頂已經有呢隻嘅名）淨一隻先收名；比較頁（#pmCmp）揀 1 隻都照出 logo＋名＋計劃簡稱（10-31 用戶） */
html[data-dev="phone"] .fdb .uk-leg .lg .nm .pill,html[data-dev="phone"] .fdb .uk-leg .lg .nm small{display:none}
html[data-dev="phone"] .fdb .uk-leg .lg .nm .n1>b{white-space:normal}
html[data-dev="phone"] .fdb .uk-leg .lg .ddb{display:none}   /* 由高位最多跌：圖入面已經標咗跌幅同高低位 */
html[data-dev="phone"] .fdb .uk-leg .lg,html[data-dev="phone"] .fdb .uk-leg.has-dd .lg{grid-template-columns:max-content minmax(0,1fr) 44px;align-items:baseline;padding:var(--sp-1) 0}
html[data-dev="phone"] .fdb .uk-leg .lg .fig>.s{grid-column:2;grid-row:2;min-width:0;white-space:normal}
html[data-dev="phone"] .fdb .uk-leg .lg .fig>.v{font-size:22px;line-height:28px}
html[data-dev="phone"] .fd-pm .pm-ctrl:has(.mseg[data-pm="tr"]){grid-template-columns:repeat(2,minmax(0,1fr))}   /* 投連四粒（供款／派息／期間／加入）→ 兩行兩粒，唔截字 */
html[data-dev="phone"] .fd-pm .pm-ctrl:has(.mseg[data-pm="tr"])>:is(.lgadd,.pm-full){justify-self:stretch}
html[data-dev="phone"] .fdb .uk-leg .lg,html[data-dev="phone"] .fdb .uk-leg.has-dd .lg{grid-template-columns:max-content minmax(0,1fr) auto}
html[data-dev="phone"] .fdb .uk-leg .lg .fig>.v{font-size:20px;line-height:26px}
html[data-dev="phone"] .fdb .uk-leg .lg .fig>.s{white-space:nowrap}
html[data-dev="phone"] .fd-ltbl tr.link>td.fund .sub .fdp-in{display:inline-block;margin-right:6px;color:var(--brand-gold-deep);font-weight:700}   /* 已加入比較（副行頭，唔會被省略號食咗） */
/* 10-31 用戶 iPhone 第三輪：①名前公司 logo（圖例行、比較表欄頭、回報卡）；比較時圖例行頭加條色線（同走勢圖線同色）＋logo＋名，唔淨靠顏色；唔同計劃先出計劃簡稱 ③最好嗰格淺綠底（收費類照唔標） */
html[data-dev="phone"] .fdp-lg{display:inline-flex;vertical-align:-3px;margin-right:6px;flex:none}
html[data-dev="phone"] .fdp-lg .logo{width:16px;height:16px;border-radius:4px;background:#fff;object-fit:contain}
html[data-dev="phone"] .fdb .uk-leg .lg .nm .n1{display:flex;align-items:center;flex-wrap:nowrap;min-width:0}
html[data-dev="phone"] .fdb .uk-leg:has(.lg+.lg) .lg .nm .n1::before{content:"";flex:none;width:12px;height:3px;border-radius:2px;margin-right:6px;background:var(--c)}
html[data-dev="phone"] .fdb .uk-leg.fdp-plans .lg .nm small{display:block;margin-top:1px;font-size:var(--fs-xs);color:var(--muted)}
html[data-dev="phone"] .fd-cmpt th .fh>span{display:block}
html[data-dev="phone"] .fd-cmpt th .fh .fdp-lg{margin-bottom:2px}
html[data-dev="phone"] .fdb .fd-cmpt tbody tr>td.num.best{justify-self:start;background:rgba(5,150,105,.10);border-radius:6px;padding:2px 6px 4px;margin:0 4px var(--sp-2) -6px}
html[data-dev="phone"] .fd-rtbl table.fdp-rt tbody td.num.best{justify-self:end;background:rgba(5,150,105,.10);border-radius:6px;padding:2px 6px}
html[data-dev="phone"] .fd-rtbl table.fdp-rt tbody td.fn .w>div,html[data-dev="phone"] .fd-cmpt th .fh>span{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:6px;align-items:start}
html[data-dev="phone"] .fd-rtbl table.fdp-rt tbody td.fn .w>div>.fdp-lg,html[data-dev="phone"] .fd-cmpt th .fh>span>.fdp-lg{grid-row:1/3;margin:2px 0 0}
html[data-dev="phone"] .fd-rtbl table.fdp-rt tbody td.fn .w>div>:not(.fdp-lg),html[data-dev="phone"] .fd-cmpt th .fh>span>:not(.fdp-lg){grid-column:2}
/* 10-31 用戶 iPhone 第四輪：①圖例每隻兩行 —— 第一行 logo＋名＋計劃簡稱（細字同一行）；第二行大字金額＋「總回報 x · 最大跌幅 y」（唔出每年） ③頂部右上「風險」唔出 */
html[data-dev="phone"] .fdb .uk-leg .lg .nm{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:6px;min-width:0}
html[data-dev="phone"] .fdb .uk-leg.fdp-plans .lg .nm small{display:inline;margin:0}
html[data-dev="phone"] .fdb .uk-leg .lg .fig>.s{white-space:normal;display:flex;flex-wrap:wrap;align-items:baseline;column-gap:4px;row-gap:0}
html[data-dev="phone"] .fdb .uk-leg .lg .fig>.s .fdp-gl{color:var(--muted);font-weight:400}
html[data-dev="phone"] .fdb .uk-leg .lg .fig>.s .fdp-dd[hidden]{display:none}
html[data-dev="phone"] .fdb .uk-leg .lg .fig>.s .fdp-dd b{font-family:var(--mono);font-weight:500}
html[data-dev="phone"] .fdb .uk-leg .lg .fig>.s .fdp-dd b.neg{color:var(--bad)}
html[data-dev="phone"] .fd-dl .hero.fd-fh>.fd-fh-r2{display:none}
html[data-dev="phone"] .fd-dl .fd-fh-r1>.p{grid-row:1/3;align-self:start}
html[data-dev="phone"] .fdb .uk-leg .lg .fig>.s{grid-column:2/-1}   /* 第二行伸到最右（✕ 淨喺第一行），375 闊「總回報 · 最大跌幅」唔摺行 */
html[data-dev="phone"] .fdb .uk-leg .lg .fig>.v{font-size:19px}
/* 10-31 用戶 iPhone：走勢圖全螢幕（打橫）—— 右上細掣（44 撳位）；全螢幕層直向用 CSS 轉 90 度，圖闊＝螢幕長邊 */
html[data-dev="phone"] .fd-chart{position:relative}
html[data-dev="phone"] .fdp-fsw{position:relative}   /* 10-31 全螢幕零件俾組合模擬器（CH.lineChart）用：圖外面包一層（手機先包），掣同長按喺呢層，圖重畫唔會甩 */
html[data-dev="phone"] .fdp-fsb{position:absolute;top:-6px;right:-6px;z-index:2;display:grid;place-items:center;width:44px;height:44px;border:0;background:transparent;color:var(--muted);cursor:pointer}
html[data-dev="phone"] .fdp-fsb svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
html[data-dev="phone"] body.fdp-fs-on{overflow:hidden}
html[data-dev="phone"] .fdp-fsov{position:fixed;inset:0;z-index:1150;background:var(--card)}
/* 10-31 全螢幕可見範圍：闊高由 JS 量 visualViewport 寫落 --fs-w／--fs-h（Safari 網址列／工具列蓋住嗰截唔計）；直向轉 90 度後：盒左＝螢幕頂、盒右＝螢幕底、盒頂＝螢幕右、盒底＝螢幕左（安全區跟住對應） */
html[data-dev="phone"] .fdp-rot{position:absolute;top:var(--fs-t,0px);left:calc(var(--fs-l,0px) + var(--fs-w,100vw));width:var(--fs-h,100dvh);height:var(--fs-w,100vw);transform-origin:0 0;transform:rotate(90deg);display:flex;flex-direction:column;box-sizing:border-box;padding:calc(env(safe-area-inset-right,0px) + 4px) calc(env(safe-area-inset-bottom,0px) + 16px) calc(env(safe-area-inset-left,0px) + 8px) calc(env(safe-area-inset-top,0px) + 16px)}
html[data-dev="phone"] .fdp-fsh{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;font-size:var(--fs-xs);color:var(--muted)}
html[data-dev="phone"] .fdp-fsx{display:grid;place-items:center;width:44px;height:44px;border:0;background:transparent;color:var(--ink2);cursor:pointer}
html[data-dev="phone"] .fdp-fsx svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}
html[data-dev="phone"] .fdp-fsc{flex:1;min-height:0}
html[data-dev="phone"] .fdp-fsc>svg{display:block}   /* 10-31：CH.lineChart 嘅 svg 預設 inline，行底多 6px 撐出圖框 */
/* 10-31 用戶追加：「最大跌幅」做撳得嘅掣 —— 細框（撳位 44 高，見到嘅框 32 高）；揀緊＝淺金底＋金框＋✓（唔淨靠顏色） */
html[data-dev="phone"] .fdb .uk-leg .lg .fig>.s .fdp-dd{position:relative;isolation:isolate;display:inline-flex;align-items:center;gap:4px;min-height:44px;margin:-6px 0 -6px 2px;padding:0 10px;border:0;background:transparent;font:inherit;color:inherit;cursor:pointer}
html[data-dev="phone"] .fdb .uk-leg .lg .fig>.s .fdp-dd::after{content:"";position:absolute;left:0;right:0;top:6px;bottom:6px;z-index:-1;border:1px solid var(--line);border-radius:8px;background:var(--card)}
html[data-dev="phone"] .fdb .uk-leg .lg .fig>.s .fdp-dd.on::after{background:var(--accent-soft);border-color:var(--brand-gold-deep)}
html[data-dev="phone"] .fdb .uk-leg .lg .fig>.s .fdp-dd .ck{display:none}
html[data-dev="phone"] .fdb .uk-leg .lg .fig>.s .fdp-dd.on .ck{display:inline-flex}
html[data-dev="phone"] .fdb .uk-leg .lg .fig>.s .fdp-dd .ck svg{width:14px;height:14px;stroke:var(--brand-gold-deep);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
/* 10-31 用戶 iPhone：供款方式底片 —— 每行「揀呢種（✓）」＋下面金額輸入格（16px 唔會 iOS 放大、數字鍵盤） */
html[data-dev="phone"] .fdp-amt .fdp-ar{border-bottom:1px solid var(--line2)}
html[data-dev="phone"] .fdp-amt .fdp-ar:last-child{border-bottom:0}
html[data-dev="phone"] .fdp-amt .fdp-ar .phm-r{border-bottom:0}
html[data-dev="phone"] .fdp-amt .fdp-ain{display:flex;align-items:center;gap:8px;padding:0 16px 12px;font-size:var(--fs-sm);color:var(--muted)}
html[data-dev="phone"] .fdp-amt.fdp-amt1 .fdp-ain{padding-top:12px}   /* 10-31 淨一種金額（RADAR 起始金額）：冇「揀供款方式」嗰行，格頂留返位 */
html[data-dev="phone"] .fdp-amt.fdp-amt1 .fdp-ain>span{display:none}   /* 標題已經係「投入金額」，格前唔再重複（讀屏用 input aria-label） */
html[data-dev="phone"] .fdp-amt .fdp-ain b{font-family:var(--mono);font-weight:500;color:var(--ink2)}
html[data-dev="phone"] .fdp-amt .fdp-ain input{flex:1;min-width:0;height:44px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);font:500 16px var(--mono);color:var(--ink);text-align:right}
html[data-dev="phone"] .fdp-amt .fdp-ar:not(.on) .fdp-ain{opacity:.6}
html[data-dev="phone"] .fdp-amt .fdp-amsg{margin:0;padding:0 16px 12px;font-size:var(--fs-sm);color:var(--bad)}
html[data-dev="phone"] .fdp-amt .fdp-amsg:empty{display:none}
html[data-dev="phone"] .fdp-amt .fdp-ahint{margin:-4px 0 0;padding:0 16px 12px;font-size:var(--fs-sm);color:var(--muted)}
/* 全螢幕走勢圖第二輪（10-31）：部機真打橫＝唔轉、照正常鋪滿（shell 遮罩見 body.th-rot-ok 讓位）；頂行每隻基金「最大跌幅」掣（色線＋名＋%，揀緊＝淺金底＋✓） */
html[data-dev="phone"] .fdp-fsov.fdp-land .fdp-rot{left:var(--fs-l,0px);width:var(--fs-w,100vw);height:var(--fs-h,100dvh);transform:none;padding:calc(env(safe-area-inset-top,0px) + 4px) calc(env(safe-area-inset-right,0px) + 12px) calc(env(safe-area-inset-bottom,0px) + 4px) calc(env(safe-area-inset-left,0px) + 12px)}   /* 真打橫（JS 量到闊 > 高）＝唔轉 */
html[data-dev="phone"] .fdp-fsh{align-items:flex-start}
html[data-dev="phone"] .fdp-fsdd{flex:1;min-width:0;display:flex;flex-wrap:wrap;gap:0 6px}
html[data-dev="phone"] .fdp-fsdd .fdp-dd{position:relative;isolation:isolate;display:inline-flex;align-items:center;gap:5px;min-height:44px;padding:0 10px;border:0;background:transparent;font:500 var(--fs-xs) var(--sans);color:var(--ink2);cursor:pointer}
html[data-dev="phone"] .fdp-fsdd .fdp-dd::after{content:"";position:absolute;left:0;right:0;top:6px;bottom:6px;z-index:-1;border:1px solid var(--line);border-radius:8px;background:var(--card)}
html[data-dev="phone"] .fdp-fsdd .fdp-dd.on::after{background:var(--accent-soft);border-color:var(--brand-gold-deep)}
html[data-dev="phone"] .fdp-fsdd .fdp-dd>i{width:12px;height:3px;border-radius:2px;background:var(--c)}
html[data-dev="phone"] .fdp-fsdd .fdp-dd b{font:500 var(--fs-xs) var(--mono)}
html[data-dev="phone"] .fdp-fsdd .fdp-dd b.neg{color:var(--bad)}
html[data-dev="phone"] .fdp-fsdd .fdp-dd .ck{display:none}
html[data-dev="phone"] .fdp-fsdd .fdp-dd.on .ck{display:inline-flex}
html[data-dev="phone"] .fdp-fsdd .fdp-dd .ck svg{width:13px;height:13px;stroke:var(--brand-gold-deep);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
html[data-dev="phone"] .fdp-fsn{margin:2px 0 0;font-size:var(--fs-xs);color:var(--muted);text-align:right}
/* 10-31 用戶：大屏供款金額格 —— 框／圓角／44 高喺 input 本身（設計閘：有框嘅只可以係撳得嘅嘢、撳位 ≥44）；貨幣喺格入面左邊；等寬數字右對齊。手機用底片，呢格唔出 */
.pm-amt{position:relative;display:inline-flex;align-items:center;gap:6px;flex:none;font-size:var(--fs-sm);color:var(--muted)}
.pm-amt .u{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-family:var(--mono);color:var(--ink2);pointer-events:none}
.pm-amt input{box-sizing:border-box;width:calc(8.5ch + 64px);height:44px;padding:0 12px 0 52px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--card);outline:0;font:500 var(--fs-md) var(--mono);color:var(--ink);text-align:right}
.pm-amt input:focus{border-color:var(--brand-green-deep);box-shadow:0 0 0 2px rgba(5,150,105,.15)}
.pm-amt .per{font-size:var(--fs-xs)}
/* 10-31 線 D：組合模擬器答案卡都用呢格（模擬器規矩：正文字 ≥15px → 貨幣／每月字跟模擬器字級 --ipf-fs） */
.ipf-ans .pm-amt,.ipf-ans .pm-amt .per{font-size:var(--ipf-fs,var(--fs-md))}
html[data-dev="phone"] .pm-amt{display:none}
/* 10-31 自訂日期範圍（用戶揀 B）：月份選擇 —— iPad／電腦＝期間掣下面彈出卡（.fd-pop），手機＝底片（.fdp-cust，同供款金額底片一樣）；
   起點推後咗（有基金遲推出）喺圖下面註寫明＋「移除呢隻」 */
.fd-cust-r{display:flex;align-items:center;gap:8px;margin:0 0 10px}
.fd-cust-r .l{flex:none;min-width:2.5em;font-size:var(--fs-sm);color:var(--muted)}
.fd-cust-r select{flex:1;min-width:0;min-height:44px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:var(--card);font:500 16px var(--mono);color:var(--ink)}
.fd-cust-msg{margin:0 0 8px;font-size:var(--fs-sm);color:var(--bad)}
.fd-cust-msg:empty{display:none}
.fd-cust-hint{margin:0;font-size:var(--fs-xs);line-height:1.5;color:var(--muted)}
.fd-cust-b{display:flex;justify-content:flex-end;margin-top:var(--sp-3)}
.fd-cust-b .act[disabled]{opacity:.45;pointer-events:none}
.fd-pm .pm-note .fd-cust-late{color:var(--ink2)}
.fd-cust-rm{display:inline-flex;align-items:center;min-height:44px;padding:0 6px;border:0;background:none;font:inherit;color:var(--link);text-decoration:underline;cursor:pointer}
html[data-dev="phone"] .fdp-cust .fd-cust{padding:12px 16px 16px}
html[data-dev="phone"] .fdp-cust .phm-done[disabled]{opacity:.45;pointer-events:none}
/* shell .th-sheet .btn.primary＝全闊（說明底片用）—— 計劃底片底部「完成」照舊細掣（左邊已揀句唔准被擠成一字一行） */
html[data-dev="phone"] .th-sheet.fd-shw .sh-foot .btn.primary{width:auto;padding:8px 14px}
