.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; --track:#E4DDF0;
  --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; --track:#33224F;
    --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; --track:#33224F;
  --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:1080px; 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 .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 .field{display:flex; flex-direction:column; gap:5px; margin-bottom:13px}
.mlfs-tool .field label{font-size:12px; font-weight:600; color:var(--ink)}
.mlfs-tool .field .note{font-size:12px; color:var(--muted); font-weight:400}
.mlfs-tool input[type=text], .mlfs-tool input[type=password], .mlfs-tool textarea, .mlfs-tool select{font:inherit; font-size:14px; color:var(--ink);
  background:var(--sunk); border:1px solid var(--line-strong); border-radius:3px; padding:9px 11px; width:100%}
.mlfs-tool textarea{min-height:96px; resize:vertical; font-size:13.5px; line-height:1.5}
.mlfs-tool input:focus, .mlfs-tool textarea:focus, .mlfs-tool select:focus{outline:2px solid var(--accent); outline-offset:1px; border-color:var(--accent)}
.mlfs-tool .row{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:13px}
.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:6px}
.mlfs-tool .hint{color:var(--muted); font-size:12.5px}
.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 progress{width:100%; height:6px; appearance:none; border:0; margin-top:12px}
.mlfs-tool progress::-webkit-progress-bar{background:var(--track); border-radius:3px}
.mlfs-tool progress::-webkit-progress-value{background:var(--accent); border-radius:3px}
.mlfs-tool progress:indeterminate::-moz-progress-bar{background:var(--accent)}
.mlfs-tool /* the brief */
.brief{background:var(--panel); border:1px solid var(--line); border-radius:5px;
  box-shadow:var(--shadow); overflow:hidden}
.mlfs-tool .brief .head{background:var(--ink); color:#F6F2FE; padding:22px 24px}
.mlfs-tool .brief .head .eyebrow{color:#B9A6DC}
.mlfs-tool .brief .head h2{color:#fff; font-size:22px; font-weight:600; margin-top:5px}
.mlfs-tool .brief .head .url{font-family:var(--mono); font-size:12.5px; color:#C6B6E4; margin-top:7px}
.mlfs-tool .bsec{padding:18px 24px; border-bottom:1px solid var(--line)}
.mlfs-tool .bsec:last-child{border-bottom:0}
.mlfs-tool .bsec h3{font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted);
  font-weight:700; font-family:Inter,sans-serif; margin-bottom:9px}
.mlfs-tool .bsec p{margin:0; font-size:14.5px; color:var(--ink)}
.mlfs-tool .canon{font-family:"Bricolage Grotesque",sans-serif; font-weight:800; font-size:24px; color:var(--ink)}
.mlfs-tool ul.plain{list-style:none; margin:0; padding:0}
.mlfs-tool ul.plain li{padding:9px 0; border-bottom:1px solid var(--line); font-size:14px}
.mlfs-tool ul.plain li:last-child{border-bottom:0}
.mlfs-tool ul.plain li b{color:var(--ink)}
.mlfs-tool ul.plain li .why{display:block; color:var(--muted); font-size:12.5px; margin-top:2px}
.mlfs-tool .chips{display:flex; gap:7px; flex-wrap:wrap}
.mlfs-tool .chip{font-size:12.5px; padding:4px 10px; border-radius:3px; background:var(--sunk);
  border:1px solid var(--line-strong); color:var(--ink)}
.mlfs-tool .chip.avoid{border-color:var(--crit); color:var(--crit)}
.mlfs-tool .warnlist li{color:var(--warn)}
.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}}
@media print{.mlfs-tool .panel, .mlfs-tool .actions, .mlfs-tool footer{display:none}
.mlfs-tool .brief{box-shadow:none}}