.mlfs-tool{
  --ground:#FAF8FD; --panel:#FFFFFF; --sunk:#F3EFFA;
  --ink:#1A0B32; --body:#3A2E4D; --muted:#6B5F80;
  --line:#E4DDF0; --line-strong:#CFC3E4;
  --accent:#8448ef; --accent-ink:#FFFFFF; --signal:#ffde59;
  --good:#2E8B6F; --warn:#D98324; --crit:#C4384F;
  --shadow:0 1px 2px rgba(26,11,50,.06), 0 8px 24px -12px rgba(26,11,50,.18);
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;
}
@media (prefers-color-scheme:dark){.mlfs-tool:not([data-theme="light"]){
    --ground:#140823; --panel:#1E1033; --sunk:#170C29;
    --ink:#F6F2FE; --body:#CDC1E2; --muted:#9587B0;
    --line:#33224F; --line-strong:#462F6B;
    --accent:#A277F5; --accent-ink:#15071F;
    --good:#4FB894; --warn:#E9A24A; --crit:#E86A80;
    --shadow:0 1px 2px rgba(0,0,0,.4), 0 10px 30px -14px rgba(0,0,0,.7);
  }}
.mlfs-tool :root[data-theme="dark"]{
  --ground:#140823; --panel:#1E1033; --sunk:#170C29;
  --ink:#F6F2FE; --body:#CDC1E2; --muted:#9587B0;
  --line:#33224F; --line-strong:#462F6B;
  --accent:#A277F5; --accent-ink:#15071F;
  --good:#4FB894; --warn:#E9A24A; --crit:#E86A80;
  --shadow:0 1px 2px rgba(0,0,0,.4), 0 10px 30px -14px rgba(0,0,0,.7);
}
.mlfs-tool *{box-sizing:border-box}
.mlfs-tool{margin:0; background:var(--ground); color:var(--body);
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:15px; line-height:1.55; -webkit-font-smoothing:antialiased}
.mlfs-tool h1, .mlfs-tool h2, .mlfs-tool h3{font-family:"Bricolage Grotesque",Inter,system-ui,sans-serif; color:var(--ink);
  text-wrap:balance; margin:0}
.mlfs-tool .wrap{max-width:1180px; margin:0 auto; padding:32px 24px 96px}
.mlfs-tool .eyebrow{font-size:11px; letter-spacing:.13em; text-transform:uppercase; color:var(--muted); font-weight:600}
.mlfs-tool .mono{font-family:var(--mono); font-size:12px}
.mlfs-tool .masthead{padding-bottom:18px; border-bottom:2px solid var(--ink); margin-bottom:24px}
.mlfs-tool .masthead h1{font-size:clamp(25px,3.6vw,35px); font-weight:800; letter-spacing:-.02em; margin-top:4px}
.mlfs-tool .masthead p{margin:8px 0 0; color:var(--muted); max-width:64ch; font-size:14px}
.mlfs-tool .panel{background:var(--panel); border:1px solid var(--line); border-radius:5px; padding:20px;
  box-shadow:var(--shadow); margin-bottom:14px}
.mlfs-tool .panel h2{font-size:16px; font-weight:600; margin-bottom:4px}
.mlfs-tool .panel .sub{font-size:13px; color:var(--muted); margin-bottom:14px}
.mlfs-tool label.file{display:inline-flex; align-items:center; gap:8px; font-size:13.5px; font-weight:600;
  color:var(--ink); border:1px dashed var(--line-strong); padding:8px 14px; border-radius:3px; cursor:pointer}
.mlfs-tool label.file:hover{border-color:var(--accent); color:var(--accent)}
.mlfs-tool input[type=file]{position:absolute; width:1px; height:1px; opacity:0}
.mlfs-tool button{font:inherit; font-weight:600; font-size:13.5px; cursor:pointer; border:1px solid var(--ink);
  background:var(--ink); color:var(--ground); padding:9px 15px; border-radius:3px; transition:opacity .15s}
.mlfs-tool button.accent{background:var(--accent); border-color:var(--accent); color:var(--accent-ink)}
.mlfs-tool button.ghost{background:transparent; color:var(--ink)}
.mlfs-tool button:disabled{opacity:.45; cursor:not-allowed}
.mlfs-tool button:hover:not(:disabled){opacity:.88}
.mlfs-tool button:focus-visible{outline:2px solid var(--accent); outline-offset:2px}
.mlfs-tool .actions{display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-top:12px}
.mlfs-tool .hint{color:var(--muted); font-size:12.5px}
.mlfs-tool .check{display:inline-flex; align-items:center; gap:7px; font-size:13px; color:var(--ink); cursor:pointer}
.mlfs-tool .keynote{background:var(--sunk); border-left:3px solid var(--accent); padding:11px 14px;
  border-radius:0 3px 3px 0; font-size:12.5px; margin-top:12px}
.mlfs-tool .keynote.warn{border-left-color:var(--warn)}
.mlfs-tool .tiles{display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:12px; margin-bottom:14px}
.mlfs-tool .tile{background:var(--panel); border:1px solid var(--line); border-radius:5px; padding:16px;
  box-shadow:var(--shadow); border-top:3px solid var(--lvl,var(--accent))}
.mlfs-tool .tile .k{font-size:11.5px; color:var(--muted); font-weight:600; letter-spacing:.04em; text-transform:uppercase}
.mlfs-tool .tile .v{font-family:"Bricolage Grotesque",sans-serif; font-weight:800; font-size:29px; color:var(--ink);
  line-height:1.1; margin-top:6px; font-variant-numeric:tabular-nums}
.mlfs-tool .tile .d{font-size:12px; color:var(--muted); margin-top:3px}
.mlfs-tool .filters{display:flex; gap:6px; flex-wrap:wrap; margin-bottom:12px}
.mlfs-tool .filters button{background:transparent; border:1px solid var(--line-strong); color:var(--muted);
  font-size:12.5px; padding:6px 12px}
.mlfs-tool .filters button[aria-pressed=true]{background:var(--ink); border-color:var(--ink); color:var(--ground)}
.mlfs-tool .tablewrap{overflow-x:auto; border:1px solid var(--line); border-radius:5px; background:var(--panel)}
.mlfs-tool table{border-collapse:collapse; width:100%; font-size:13px; min-width:840px}
.mlfs-tool th{text-align:left; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted);
  font-weight:700; padding:11px 12px; border-bottom:1px solid var(--line-strong); background:var(--sunk); white-space:nowrap}
.mlfs-tool td{padding:9px 12px; border-bottom:1px solid var(--line); vertical-align:top}
.mlfs-tool tr:last-child td{border-bottom:0}
.mlfs-tool td.n{text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap}
.mlfs-tool .sev{font-size:10.5px; font-weight:700; letter-spacing:.05em; padding:2px 7px; border-radius:2px;
  color:#fff; text-transform:uppercase; white-space:nowrap}
.mlfs-tool .sev.high{background:var(--crit)}
.mlfs-tool .sev.medium{background:var(--warn)}
.mlfs-tool .sev.low{background:var(--muted)}
.mlfs-tool .kind{font-size:10.5px; font-weight:600; letter-spacing:.04em; color:var(--muted);
  border:1px solid var(--line-strong); padding:2px 6px; border-radius:2px; white-space:nowrap}
.mlfs-tool .canon{font-weight:600; color:var(--ink)}
.mlfs-tool .variants{color:var(--muted); font-size:12.5px; max-width:420px}
.mlfs-tool .section-head{display:flex; align-items:baseline; justify-content:space-between; gap:16px;
  margin:34px 0 13px; flex-wrap:wrap}
.mlfs-tool .section-head h2{font-size:21px; font-weight:600}
.mlfs-tool footer{margin-top:52px; padding-top:18px; border-top:1px solid var(--line); color:var(--muted);
  font-size:12.5px; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap}
@media (prefers-reduced-motion:reduce){.mlfs-tool *{transition:none !important}}