:root{
  --bg:#0f1720; --card:#182430; --ink:#e8eef4; --mut:#9fb0c0;
  --acc:#4da3ff; --line:#26364a; --ok:#41d189;
}
*{box-sizing:border-box}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
.wrap{max-width:960px;margin:0 auto;padding:0 16px}
.site-header{background:#0b1219;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:56px}
.logo{font-weight:700;font-size:20px;color:var(--ink);text-decoration:none;letter-spacing:.3px}
.logo span{color:var(--acc)}
.nav a{color:var(--mut);text-decoration:none;margin-left:18px;font-size:15px}
.nav a:hover{color:var(--ink)}
.hero{padding:34px 0 6px}
.hero h1{font-size:26px;line-height:1.25;margin:0 0 10px}
.hero p{color:var(--mut);margin:0;max-width:62ch}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px;margin:16px 0}
.card h2{margin:0 0 14px;font-size:19px}
.tool{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}
.tool:first-of-type{border-top:0;padding-top:0;margin-top:0}
.tool h3{margin:0 0 10px;font-size:16px}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
input,select,textarea,button{
  background:#0e1922;color:var(--ink);border:1px solid var(--line);
  border-radius:8px;padding:10px 12px;font:inherit;min-width:0;
}
textarea{width:100%;resize:vertical;margin:6px 0}
input[type=number]{width:150px}
input[type=text]{flex:1;min-width:180px}
button{cursor:pointer}
button:hover{border-color:var(--acc)}
button:active{transform:translateY(1px)}
.arrow{color:var(--mut)}
.cat{color:var(--mut);font-size:14px;display:inline-flex;gap:8px;align-items:center}
.result{font-size:18px;margin:12px 0 0;color:var(--acc)}
.result.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;word-break:break-all}
.note{color:var(--mut);font-size:13px;margin:8px 0 0}
.range{display:flex;align-items:center;gap:10px;margin-top:10px;color:var(--mut);font-size:14px}
.range input[type=range]{flex:1;padding:0}
.site-footer{border-top:1px solid var(--line);margin-top:24px;padding:20px 0 34px;color:var(--mut);font-size:14px}
.site-footer a{color:var(--mut)}
.site-footer a:hover{color:var(--ink)}
@media (max-width:560px){
  .nav{display:none}
  .hero h1{font-size:22px}
  input[type=number]{width:110px}
}
