.jtff{
  --bg:#f9f9f9; --card:#ffffff; --ink:#1a1a1a; --muted:#6b6b6b;
  --accent:#0f6b4f; --accent2:#d98c00; --border:#e4e1da; --chip:#eef0ec;
}
.jtff, .jtff *{box-sizing:border-box;}
.jtff{background:var(--bg);border-radius:16px;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;display:flex;justify-content:center;padding:28px 14px;}
.jtff .wrap{width:100%;max-width:600px;}
.jtff h1{font-size:1.25rem;margin:0 0 4px;}
.jtff .sub{color:var(--muted);font-size:0.88rem;margin:0 0 20px;line-height:1.4;}
.jtff .field{position:relative;margin-bottom:12px;}
.jtff .field label{display:block;font-size:0.78rem;color:var(--muted);margin-bottom:5px;font-weight:600;}
.jtff input[type=text]{
  width:100%;padding:13px 14px;border-radius:12px;border:1px solid var(--border);
  background:var(--card);color:var(--ink);font-size:0.95rem;
}
.jtff input[type=text]:focus{outline:2px solid var(--accent);outline-offset:-1px;}
.jtff .dropdown{
  position:absolute;top:100%;left:0;right:0;background:var(--card);border:1px solid var(--border);
  border-radius:10px;margin-top:4px;max-height:220px;overflow-y:auto;z-index:10;
  box-shadow:0 8px 20px rgba(0,0,0,0.15);
}
.jtff .dropdown .opt{padding:10px 14px;cursor:pointer;font-size:0.88rem;display:flex;justify-content:space-between;gap:8px;}
.jtff .dropdown .opt:hover, .jtff .dropdown .opt.hi{background:var(--chip);}
.jtff .dropdown .opt .tag{font-size:0.68rem;color:var(--muted);flex-shrink:0;}
.jtff .swap{
  display:flex;justify-content:center;margin:-4px 0 10px;
}
.jtff .swap button{
  background:var(--chip);border:1px solid var(--border);color:var(--ink);
  border-radius:999px;padding:5px 14px;font-size:0.78rem;cursor:pointer;
}
.jtff .cta{
  width:100%;padding:14px;border-radius:12px;border:none;background:var(--accent);
  color:#08221a;font-weight:700;font-size:0.95rem;cursor:pointer;margin-top:6px;
}
.jtff .cta:disabled{opacity:0.4;cursor:not-allowed;}
.jtff .result{
  background:var(--card);border:1px solid var(--border);border-radius:14px;
  padding:20px;margin-top:18px;display:none;
}
.jtff .result.show{display:block;}
.jtff .result .route{font-size:0.85rem;color:var(--muted);margin-bottom:14px;text-align:center;}
.jtff .result .route b{color:var(--ink);}
.jtff .stats{display:flex;gap:10px;margin-bottom:16px;}
.jtff .stat{flex:1;background:var(--chip);border-radius:10px;padding:12px;text-align:center;}
.jtff .stat .val{font-size:1.3rem;font-weight:700;color:var(--accent);}
.jtff .stat .lbl{font-size:0.7rem;color:var(--muted);margin-top:2px;}
.jtff .ranks{border-top:1px solid var(--border);padding-top:14px;}
.jtff .ranks h3{font-size:0.82rem;margin:0 0 10px;color:var(--muted);text-transform:uppercase;letter-spacing:0.03em;}
.jtff .leg{display:flex;align-items:center;gap:10px;padding:8px 0;font-size:0.88rem;}
.jtff .leg .dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex-shrink:0;}
.jtff .leg .arrow{color:var(--muted);}
.jtff .disclaimer{
  background:rgba(217,140,0,0.12);border:1px solid var(--accent2);border-radius:10px;
  padding:12px 14px;font-size:0.85rem;margin-top:16px;display:flex;gap:10px;align-items:flex-start;
}
.jtff .disclaimer span.icon{font-size:1.1rem;}
.jtff .note{font-size:0.75rem;color:var(--muted);line-height:1.5;margin-top:16px;}
.jtff .note b{color:var(--ink);}
.jtff .precision-note{font-size:0.72rem;color:var(--muted);margin-top:10px;}

.jtff h2{font-size:1.25rem;margin:0 0 4px;}
.jtff button{font-family:inherit;}
