/* FEC 00035.HK × NAPELL — Institutional Research Style */
:root{
  --bg:#06080a; --panel:#0d1117; --panel2:#111827; --border:#1c2530; --border2:#2a3543;
  --accent:#1d9bf0; --text:#e7e9ea; --body:#c9cdd1; --muted:#71767b;
  --red:#f4212e; --green:#00ba7c; --amber:#ffd400; --purple:#787cf0; --gold:#d4a94e;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--text);font-family:"Segoe UI","Helvetica Neue","PingFang SC","Microsoft YaHei",sans-serif;line-height:1.65;font-size:14.5px;}
body{-webkit-font-smoothing:antialiased;}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px;}
.num,td,.v,.amt,.kpi .v{font-variant-numeric:tabular-nums;font-feature-settings:"tnum";}

/* ── header ── */
header{position:sticky;top:0;z-index:50;background:rgba(6,8,10,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);}
.nav{display:flex;align-items:center;justify-content:space-between;height:88px;}
.logo{font-weight:800;font-size:clamp(26px,3.2vw,38px);line-height:1;text-transform:uppercase;letter-spacing:2.5px;color:#ffffff;text-decoration:none;white-space:nowrap;font-family:"Segoe UI","Helvetica Neue",Arial,sans-serif;transition:.15s;margin-left:-6px;align-self:center;}
.logo:hover{color:var(--accent);}
.logo b{color:var(--accent);font-weight:800;}
nav.links{display:flex;align-items:center;gap:2px;}
nav.links a{color:var(--muted);text-decoration:none;font-size:12.5px;padding:6px 11px;border-radius:6px;transition:.15s;}
nav.links a:hover{color:var(--text);background:var(--panel2);}
nav.links a.on{color:var(--accent);background:rgba(29,155,240,.10);}
.langbtn{margin-left:10px;cursor:pointer;user-select:none;font-size:12px;font-weight:700;color:var(--accent);border:1px solid rgba(29,155,240,.45);border-radius:999px;padding:4px 14px;background:transparent;transition:.15s;}
.langbtn:hover{background:rgba(29,155,240,.12);}

/* ── hero ── */
.hero{padding:54px 0 34px;border-bottom:1px solid var(--border);}
.eyebrow{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;}
.tag{font-size:11px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--accent);border:1px solid rgba(29,155,240,.35);border-radius:3px;padding:3px 10px;}
.tag.gold{color:var(--gold);border-color:rgba(212,169,78,.4);}
.hero h1{font-size:32px;font-weight:800;letter-spacing:-.6px;line-height:1.25;max-width:900px;}
.hero h1 em{color:var(--accent);font-style:normal;}
.hero .lede{color:var(--muted);margin-top:14px;max-width:820px;font-size:14px;}
.hero .rule{width:56px;height:3px;background:var(--accent);margin-top:22px;border-radius:2px;}

/* ── sections ── */
section{padding:44px 0 8px;}
.sechead{display:flex;align-items:baseline;gap:14px;border-bottom:1px solid var(--border);padding-bottom:14px;margin-bottom:22px;}
.secno{font-size:13px;font-weight:800;color:var(--accent);letter-spacing:1px;font-variant-numeric:tabular-nums;}
h2.sec{font-size:21px;font-weight:800;letter-spacing:-.3px;}
.sub{color:var(--muted);font-size:12.5px;margin:-10px 0 20px;}

/* ── cards & grids ── */
.grid{display:grid;gap:14px;}
.kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));}
.kpi{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:15px 17px;}
.kpi .l{font-size:10.5px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);}
.kpi .v{font-size:23px;font-weight:800;margin:4px 0 2px;}
.kpi .d{font-size:11px;color:var(--muted);}
.tldr{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));}
.card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:20px 22px;}
.card h3{font-size:14.5px;margin-bottom:9px;letter-spacing:.2px;}
.card p{font-size:13px;color:var(--body);}
.card p b{color:var(--text);}

/* ── charts ── */
.chart{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:16px 18px;}
.chart .ct{font-size:13.5px;font-weight:700;margin-bottom:2px;}
.chart .cs{font-size:11px;color:var(--muted);margin-bottom:10px;}
.g2{grid-template-columns:1fr 1fr;}
@media(max-width:920px){.g2{grid-template-columns:1fr;}}
@media(max-width:1080px){.nav{height:auto;flex-direction:column;gap:10px;padding:14px 0;}}
.cht{width:100%;height:350px;}

/* ── table ── */
.tbl{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:6px 14px 12px;overflow-x:auto;}
table{width:100%;border-collapse:collapse;font-size:12.5px;}
th,td{padding:8px 10px;border-bottom:1px solid var(--border);text-align:right;white-space:nowrap;}
th{color:var(--muted);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.4px;background:var(--panel2);}
td:first-child,th:first-child{text-align:left;}
tbody tr:hover{background:rgba(29,155,240,.05);}

/* ── phases ── */
.phase{display:flex;gap:16px;flex-wrap:wrap;}
.ph{flex:1;min-width:262px;background:var(--panel);border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:10px;padding:20px;position:relative;}
.ph.p2{border-top-color:var(--gold);}
.ph.p3{border-top-color:var(--purple);}
.ph .num{position:absolute;top:-11px;left:16px;background:var(--accent);color:#000;font-weight:800;font-size:10.5px;letter-spacing:.6px;border-radius:3px;padding:2px 10px;}
.ph.p2 .num{background:var(--gold);}
.ph.p3 .num{background:var(--purple);}
.ph h4{font-size:14.5px;margin:6px 0 2px;}
.ph .amt{font-size:24px;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums;}
.ph .amtl{font-size:11px;color:var(--muted);}
.ph ul{margin:10px 0 0 16px;font-size:12.5px;color:var(--body);}
.ph li{margin-bottom:3px;}

/* ── econ cards ── */
.econ{display:grid;grid-template-columns:repeat(auto-fit,minmax(152px,1fr));gap:12px;}
.eco{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:15px 12px;text-align:center;}
.eco .v{font-size:19px;font-weight:800;color:var(--accent);}
.eco .l{font-size:10.5px;color:var(--muted);margin-top:3px;line-height:1.4;}

/* ── flow ── */
.flow{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch;margin-top:16px;}
.fnode{background:var(--panel2);border:1px solid var(--border2);border-radius:8px;padding:11px 14px;font-size:12.5px;flex:1;min-width:158px;color:var(--body);}
.fnode b{color:var(--accent);display:block;font-size:12.5px;margin-bottom:2px;}
.farrow{align-self:center;color:var(--accent);font-size:18px;font-weight:800;}

/* ── notes / disclaimer ── */
.note{font-size:11px;color:var(--muted);margin-top:12px;line-height:1.6;}
.disc{border:1px solid rgba(244,33,46,.3);background:rgba(244,33,46,.05);border-radius:10px;padding:16px 20px;font-size:12px;color:var(--body);margin:36px 0 30px;}
.disc b{color:var(--red);}
footer{border-top:1px solid var(--border);padding:24px 0 44px;color:var(--muted);font-size:11.5px;margin-top:30px;}

/* ── i18n toggle ── */
.zh{display:none;}
html[data-lang="zh"] .zh{display:inline;}
html[data-lang="zh"] .en{display:none;}
.red{color:var(--red);} .green{color:var(--green);} .amber{color:var(--amber);} .blue{color:var(--accent);} .gold{color:var(--gold);} .purple{color:var(--purple);}
